X7ROOT File Manager
Current Path:
/usr/libexec/webmin/net
usr
/
libexec
/
webmin
/
net
/
📁
..
📄
CHANGELOG
(5.55 KB)
📄
acl_security.pl
(3.08 KB)
📄
apply.cgi
(184 B)
📄
backup_config.pl
(1005 B)
📄
cgi_args.pl
(752 B)
📄
cobalt-linux-lib.pl
(32.83 KB)
📄
coherent-linux-lib.pl
(32.83 KB)
📄
config
(48 B)
📄
config-ALL-linux
(48 B)
📄
config-cygwin
(82 B)
📄
config-freebsd
(48 B)
📄
config-macos
(48 B)
📄
config-netbsd
(48 B)
📄
config-openbsd
(48 B)
📄
config-solaris
(79 B)
📄
config-syno-linux
(48 B)
📄
config-unixware
(48 B)
📄
config-windows
(78 B)
📄
config.info
(193 B)
📄
config.info.ca
(241 B)
📄
config.info.cs
(205 B)
📄
config.info.de
(219 B)
📄
config.info.es
(175 B)
📄
config.info.fa
(255 B)
📄
config.info.fr
(246 B)
📄
config.info.hu
(0 B)
📄
config.info.ja
(68 B)
📄
config.info.nl
(197 B)
📄
config.info.no
(208 B)
📄
config.info.pl
(240 B)
📄
config.info.pt_BR
(229 B)
📄
config.info.ru
(361 B)
📄
config.info.sk
(225 B)
📄
config.info.sv
(42 B)
📄
config.info.tr
(65 B)
📄
config.info.uk
(87 B)
📄
config.info.zh
(43 B)
📄
config.info.zh_TW
(44 B)
📄
create_route.cgi
(1004 B)
📄
cygwin-lib.pl
(11.28 KB)
📄
debian-linux-lib.pl
(32.63 KB)
📄
defaultacl
(114 B)
📄
delete_aifcs.cgi
(537 B)
📄
delete_bifcs.cgi
(1.44 KB)
📄
delete_hosts.cgi
(523 B)
📄
delete_ipnodes.cgi
(542 B)
📄
delete_routes.cgi
(458 B)
📄
edit_aifc.cgi
(5.09 KB)
📄
edit_bifc.cgi
(10.42 KB)
📄
edit_host.cgi
(1.13 KB)
📄
edit_ipnode.cgi
(1.04 KB)
📄
edit_range.cgi
(1.34 KB)
📄
freebsd-lib.pl
(19.22 KB)
📄
gentoo-linux-lib.pl
(8.47 KB)
📁
images
📄
index.cgi
(1.25 KB)
📄
interface_chooser.cgi
(3.8 KB)
📁
lang
📄
linux-lib.pl
(27.58 KB)
📄
list_dns.cgi
(2.3 KB)
📄
list_hosts.cgi
(1.36 KB)
📄
list_ifcs.cgi
(7.96 KB)
📄
list_ipnodes.cgi
(1.07 KB)
📄
list_routes.cgi
(3.38 KB)
📄
log_parser.pl
(1.24 KB)
📄
macos-lib.pl
(11.57 KB)
📄
mandrake-linux-lib.pl
(32.83 KB)
📄
mod_aifc.cgi
(720 B)
📄
module.info
(485 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(123 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(170 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(226 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(261 B)
📄
module.info.ca
(127 B)
📄
module.info.ca.auto
(25 B)
📄
module.info.cs
(27 B)
📄
module.info.cs.auto
(111 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(129 B)
📄
module.info.de
(121 B)
📄
module.info.de.auto
(19 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(229 B)
📄
module.info.es
(30 B)
📄
module.info.es.auto
(116 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(142 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(194 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(145 B)
📄
module.info.fr
(30 B)
📄
module.info.fr.auto
(128 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(161 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(148 B)
📄
module.info.hu
(34 B)
📄
module.info.hu.auto
(148 B)
📄
module.info.it
(28 B)
📄
module.info.it.auto
(112 B)
📄
module.info.ja
(33 B)
📄
module.info.ja.auto
(153 B)
📄
module.info.ko
(28 B)
📄
module.info.ko.auto
(105 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(157 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(157 B)
📄
module.info.ms
(136 B)
📄
module.info.ms.auto
(18 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(144 B)
📄
module.info.nl
(29 B)
📄
module.info.nl.auto
(105 B)
📄
module.info.no
(31 B)
📄
module.info.no.auto
(99 B)
📄
module.info.pl
(122 B)
📄
module.info.pl.auto
(19 B)
📄
module.info.pt
(31 B)
📄
module.info.pt.auto
(125 B)
📄
module.info.pt_BR
(34 B)
📄
module.info.pt_BR.auto
(131 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(143 B)
📄
module.info.ru
(36 B)
📄
module.info.ru.auto
(167 B)
📄
module.info.sk
(28 B)
📄
module.info.sk.auto
(113 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(140 B)
📄
module.info.sv
(31 B)
📄
module.info.sv.auto
(103 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(327 B)
📄
module.info.tr
(30 B)
📄
module.info.tr.auto
(130 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(223 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(210 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(170 B)
📄
module.info.zh
(21 B)
📄
module.info.zh.auto
(90 B)
📄
module.info.zh_TW
(24 B)
📄
module.info.zh_TW.auto
(96 B)
📄
msc-linux-lib.pl
(32.83 KB)
📄
net-lib.pl
(12 KB)
📄
netbsd-lib.pl
(19.22 KB)
📄
netplan-lib.pl
(20.85 KB)
📄
open-linux-lib.pl
(7.2 KB)
📄
openbsd-lib.pl
(12.6 KB)
📄
openmamba-linux-lib.pl
(32.83 KB)
📄
pardus-linux-lib.pl
(32.83 KB)
📄
rbac-mapping
(180 B)
📄
rc.inet1
(1.95 KB)
📄
redhat-linux-lib.pl
(32.83 KB)
📄
save_aifc.cgi
(5.78 KB)
📄
save_bifc.cgi
(10.12 KB)
📄
save_dns.cgi
(3.65 KB)
📄
save_host.cgi
(1.18 KB)
📄
save_ipnode.cgi
(1.26 KB)
📄
save_range.cgi
(1.42 KB)
📄
save_routes.cgi
(283 B)
📄
slackware-linux-9.1-ALL-lib.pl
(7.85 KB)
📄
slackware-linux-lib.pl
(6.71 KB)
📄
solaris-lib.pl
(20.79 KB)
📄
suse-linux-8.0-lib.pl
(7.31 KB)
📄
suse-linux-8.2-lib.pl
(7.31 KB)
📄
suse-linux-9.0-lib.pl
(8.74 KB)
📄
suse-linux-9.1-lib.pl
(8.74 KB)
📄
suse-linux-9.2-ALL-lib.pl
(11.23 KB)
📄
suse-linux-lib.pl
(9.08 KB)
📄
system_info.pl
(2.42 KB)
📄
trustix-linux-lib.pl
(32.83 KB)
📄
turbo-linux-lib.pl
(32.83 KB)
📄
united-linux-lib.pl
(7.31 KB)
📄
unixware-lib.pl
(9.9 KB)
📄
windows-lib.pl
(11.28 KB)
Editing: open-linux-lib.pl
# open-linux.pl # Networking functions for openlinux $net_scripts_dir = "/etc/sysconfig/network-scripts"; $network_config = "/etc/sysconfig/network"; $static_route_config = "/etc/sysconfig/network-scripts/ifcfg-routes"; $nis_conf = "/etc/nis.conf"; do 'linux-lib.pl'; # boot_interfaces() # Returns a list of interfaces brought up at boot time sub boot_interfaces { local(@rv, $f); opendir(CONF, &translate_filename($net_scripts_dir)); while($f = readdir(CONF)) { next if ($f !~ /^ifcfg-(\S+)/ || $f eq 'ifcfg-routes' || $f =~ /\.sample$/); local (%conf, $b); &read_env_file("$net_scripts_dir/$f", \%conf); $b->{'fullname'} = $conf{'DEVICE'} ? $conf{'DEVICE'} : $1; if ($b->{'fullname'} =~ /(\S+):(\d+)/) { $b->{'name'} = $1; $b->{'virtual'} = $2; } else { $b->{'name'} = $b->{'fullname'}; } $b->{'up'} = ($conf{'ONBOOT'} eq 'yes'); $b->{'address'} = $conf{'IPADDR'} ? $conf{'IPADDR'} : "Automatic"; $b->{'netmask'} = $conf{'NETMASK'} ? $conf{'NETMASK'} : "Automatic"; $b->{'broadcast'} = $conf{'BROADCAST'} ? $conf{'BROADCAST'} : "Automatic"; $b->{'dhcp'} = $conf{'DYNAMIC'} eq 'dhcp'; $b->{'edit'} = ($b->{'name'} !~ /^ppp|plip/); $b->{'desc'} = $conf{'NAME'}; $b->{'index'} = scalar(@rv); $b->{'file'} = "$net_scripts_dir/$f"; push(@rv, $b); } closedir(CONF); return @rv; } # save_interface(&details) # Create or update a boot-time interface sub save_interface { local(%conf); local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'} : $_[0]->{'name'}; &lock_file("$net_scripts_dir/ifcfg-$name"); &read_env_file("$net_scripts_dir/ifcfg-$name", \%conf); $conf{'DEVICE'} = $name; if ($_[0]->{'dhcp'}) { $conf{'DYNAMIC'} = 'dhcp'; } else { $conf{'IPADDR'} = $_[0]->{'address'}; delete($conf{'DYNAMIC'}); } local($ip1, $ip2, $ip3, $ip4) = split(/\./, $_[0]->{'address'}); $conf{'NETMASK'} = $_[0]->{'netmask'}; local($nm1, $nm2, $nm3, $nm4) = split(/\./, $_[0]->{'netmask'}); $conf{'NETWORK'} = sprintf "%d.%d.%d.%d", ($ip1 & int($nm1))&0xff, ($ip2 & int($nm2))&0xff, ($ip3 & int($nm3))&0xff, ($ip4 & int($nm4))&0xff; $conf{'BROADCAST'} = $_[0]->{'broadcast'}; $conf{'ONBOOT'} = $_[0]->{'up'} ? "yes" : "no"; $conf{'NAME'} = $_[0]->{'desc'}; &write_env_file("$net_scripts_dir/ifcfg-$name", \%conf); &unlock_file("$net_scripts_dir/ifcfg-$name"); } # delete_interface(&details) # Delete a boot-time interface sub delete_interface { local $name = $_[0]->{'virtual'} ne "" ? $_[0]->{'name'}.":".$_[0]->{'virtual'} : $_[0]->{'name'}; &unlink_logged("$net_scripts_dir/ifcfg-$name"); } # can_edit(what) # Can some boot-time interface parameter be edited? sub can_edit { return $_[0] ne "bootp" && $_[0] ne "mtu"; } sub can_broadcast_def { return 0; } # can_iface_desc([&iface]) # Returns 1 if boot-interfaces can have comments sub can_iface_desc { return 1; } # valid_boot_address(address) # Is some address valid for a bootup interface sub valid_boot_address { return &check_ipaddress($_[0]); } sub get_hostname { local %conf; &read_env_file($network_config, \%conf); if ($conf{'HOSTNAME'}) { return $conf{'HOSTNAME'}; } return &get_system_hostname(); } # save_hostname(name) sub save_hostname { local %conf; &system_logged("hostname $_[0] >/dev/null 2>&1"); &open_lock_tempfile(HOST, ">/etc/HOSTNAME"); &print_tempfile(HOST, $_[0],"\n"); &close_tempfile(HOST); &lock_file($network_config); &read_file($network_config, \%conf); $conf{'HOSTNAME'} = $_[0]; &write_file($network_config, \%conf); &unlock_file($network_config); undef(@main::get_system_hostname); # clear cache } # get_domainname() sub get_domainname { local $d; &execute_command("domainname", undef, \$d, undef); chop($d); return $d; } # save_domainname(domain) sub save_domainname { local %conf; &execute_command("domainname ".quotemeta($_[0])); &read_env_file($network_config, \%conf); if ($_[0]) { $conf{'NISDOMAIN'} = $_[0]; } else { delete($conf{'NISDOMAIN'}); } &write_env_file($network_config, \%conf); } sub routing_config_files { return ( $network_config, map { $_->{'file'} } &boot_interfaces() ); } sub routing_input { local (%conf, %ifc, $f, $gateway, $gatewaydev); &read_file($network_config, \%conf); local ($gateway, $gatewaydev) = &get_default_gateway(); # Default router and device print &ui_table_row($text{'routes_default'}, &ui_radio("gateway_def", $gateway ? 0 : 1, [ [ 1, $text{'routes_none'} ], [ 0, $text{'routes_gateway'}." ". &ui_textbox("gateway", $gateway, 15)." ". $text{'routes_device'}." ". &ui_textbox("gatewaydev", $gatewaydev, 6) ] ])); # Forward traffic print &ui_table_row($text{'routes_forward'}, &ui_yesno_radio("forward", $conf{'IPFORWARDING'} =~ /yes|true/i)); # Additional routes script print &ui_table_row($text{'routes_script'}, &ui_textarea("script", &read_file_contents($static_route_config), 4, 60)); } sub parse_routing { local %conf; &lock_file($network_config); &read_file($network_config, \%conf); if ($in{'forward'}) { $conf{'IPFORWARDING'} = 'yes'; } else { delete($conf{'IPFORWARDING'}); } local %ifcs = map { $_->{'fullname'}, 1 } &all_interfaces(); if (!$in{'gateway_def'}) { &to_ipaddress($in{'gateway'}) || &error(&text('routes_edefault', &html_escape($in{'gateway'}))); $ifcs{$in{'gatewaydev'}} || &error(&text('routes_edevice', &html_escape($in{'gatewaydev'}))); } &set_default_gateway($in{'gateway_def'} ? ( ) : ( $in{'gateway'}, $in{'gatewaydev'} ) ); &write_file($network_config, \%conf); &unlock_file($network_config); &open_lock_tempfile(SCRIPT, ">$static_route_config"); $in{'script'} =~ s/\r//g; &print_tempfile(SCRIPT, $in{'script'}); &close_tempfile(SCRIPT); &system_logged("chmod +x $static_route_config"); } # apply_network() # Apply the interface and routing settings sub apply_network { &system_logged("(cd / ; /etc/rc.d/init.d/network stop ; /etc/rc.d/init.d/network start) >/dev/null 2>&1"); } # apply_interface(&iface) # Calls an OS-specific function to make a boot-time interface active sub apply_interface { local $out = &backquote_logged("cd / ; ifup '$_[0]->{'fullname'}' 2>&1 </dev/null"); return $? ? $out : undef; } # get_default_gateway() # Returns the default gateway IP (if one is set) and device (if set) boot time # settings. sub get_default_gateway { &read_file($network_config, \%conf); opendir(CONF, &translate_filename($net_scripts_dir)); local $f; while($f = readdir(CONF)) { next if ($f !~ /^ifcfg-(\S+)/); local %ifc; &read_file("$net_scripts_dir/$f", \%ifc); if (&check_ipaddress($ifc{'GATEWAY'})) { return ( $ifc{'GATEWAY'}, $ifc{'DEVICE'} ); } } closedir(CONF); return ( ); } # set_default_gateway([gateway, device]) # Sets the default gateway to the given IP accessible via the given device, # in the boot time settings. sub set_default_gateway { opendir(CONF, &translate_filename($net_scripts_dir)); local $f; while($f = readdir(CONF)) { next if ($f !~ /^ifcfg-(\S+)/); local %ifc; &lock_file("$net_scripts_dir/$f"); &read_file("$net_scripts_dir/$f", \%ifc); if (!$_[0] || $ifc{'DEVICE'} ne $_[1]) { delete($ifc{'GATEWAY'}); } else { $ifc{'GATEWAY'} = $_[0]; } &write_file("$net_scripts_dir/$f", \%ifc); &unlock_file("$net_scripts_dir/$f"); } closedir(CONF); } # supports_address6([&iface]) # Returns 1 if managing IPv6 interfaces is supported sub supports_address6 { local ($iface) = @_; return 0; } 1;
Upload File
Create Folder