⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 save_bifc.cgi

📁 Unix下基于Web的管理工具
💻 CGI
字号:
#!/usr/local/bin/perl# save_bifc.cgi# Create, save or delete a boot-time interfacerequire './net-lib.pl';&ReadParse();@boot = &boot_interfaces();if ($in{'delete'}) {	# Delete interface	&error_setup($text{'bifc_err1'});	$b = $boot[$in{'idx'}];	&delete_interface($b);	}else {	# Save or create interface	&error_setup($text{'bifc_err2'});	if (!$in{'new'}) {		$oldb = $boot[$in{'idx'}];		$b->{'name'} = $oldb->{'name'};		$b->{'virtual'} = $oldb->{'virtual'}			if (defined($oldb->{'virtual'}));		}	elsif (defined($in{'virtual'})) {		# creating a virtual interface		$in{'virtual'} =~ /^\d+$/ ||			&error($text{'bifc_evirt'});		foreach $eb (@boot) {			if ($eb->{'name'} eq $in{'name'} &&			    $eb->{'virtual'} eq $in{'virtual'}) {				&error(&text('bifc_evirtdup',				       "$in{'name'}:$in{'virtual'}"));				}			}		$b->{'name'} = $in{'name'};		$b->{'virtual'} = $in{'virtual'};		}	elsif ($in{'name'} =~ /^([a-z0-9]+):(\d+)$/) {		# also creating a virtual interface		foreach $eb (@boot) {			if ($eb->{'name'} eq $1 &&			    $eb->{'virtual'} eq $2) {				&error(&text('bifc_evirtdup', $in{'name'}));				}			}		$b->{'name'} = $1;		$b->{'virtual'} = $2;		}	elsif ($in{'name'} =~/^[a-z]+\d+$/) {		# creating a real interface		foreach $eb (@acts) {			if ($eb->{'name'} eq $in{'name'}) {				&error(&text('bifc_edup', $in{'name'}));				}			}		$b->{'name'} = $in{'name'};		}	else {		&error($text{'bifc_ename'});		}	if ($in{'mode'} eq 'dhcp' || $in{'mode'} eq 'bootp') {		$b->{$in{'mode'}}++;		}	else {		&valid_boot_address($in{'address'}) ||			&error(&text('bifc_eip', $in{'address'}));		$b->{'address'} = $in{'address'};		}	if (!$in{'netmask_def'} && &can_edit("netmask", $b)) {		&check_ipaddress($in{'netmask'}) ||			&error(&text('bifc_emask', $in{'netmask'}));		$b->{'netmask'} = $in{'netmask'};		}	if (!$in{'broadcast_def'} && &can_edit("broadcast", $b)) {		&check_ipaddress($in{'broadcast'}) ||			&error(&text('bifc_ebroad', $in{'broadcast'}));		$b->{'broadcast'} = $in{'broadcast'};		}	if (!$in{'mtu_def'} && &can_edit("mtu", $b)) {		$in{'mtu'} =~ /^\d+$/ ||			&error(&text('bifc_emtu', $in{'mtu'}));		$b->{'mtu'} = $in{'mtu'};		}	if ($in{'up'} && &can_edit("up", $b)) { $b->{'up'}++; }	&save_interface($b);	if ($in{'activate'}) {		# Make this interface active (if possible)		&error_setup($text{'bifc_err3'});		$b->{'up'}++;		$b->{'address'} = &to_ipaddress($b->{'address'});		&activate_interface($b);		}	}&redirect("list_ifcs.cgi");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -