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

📄 save_aifc.cgi

📁 Unix下基于Web的管理工具
💻 CGI
字号:
#!/usr/local/bin/perl# save_aifc.cgi# Save, create or delete an active interfacerequire './net-lib.pl';&ReadParse();@acts = &active_interfaces();if ($in{'delete'}) {	# delete an interface	&error_setup($text{'aifc_err1'});	$a = $acts[$in{'idx'}];	&deactivate_interface(\$a);	}else {	# Validate and save inputs	&error_setup($text{'aifc_err2'});	if (!$in{'new'}) {		$olda = $acts[$in{'idx'}];		$a->{'name'} = $olda->{'name'};		$a->{'virtual'} = $olda->{'virtual'}			if (defined($olda->{'virtual'}));		}	elsif (defined($in{'virtual'})) {		# creating a virtual interface		$in{'virtual'} =~ /^\d+$/ ||			&error($text{'aifc_evirt'});		foreach $ea (@acts) {			if ($ea->{'name'} eq $in{'name'} &&			    $ea->{'virtual'} eq $in{'virtual'}) {				&error(&text('aifc_evirtdup',				       "$in{'name'}:$in{'virtual'}"));				}			}		$a->{'name'} = $in{'name'};		$a->{'virtual'} = $in{'virtual'};		}	elsif ($in{'name'} =~ /^([a-z0-9]+):(\d+)$/) {		# also creating a virtual interface		foreach $ea (@acts) {			if ($ea->{'name'} eq $1 &&			    $ea->{'virtual'} eq $2) {				&error(&text('aifc_evirtdup', $in{'name'}));				}			}		$a->{'name'} = $1;		$a->{'virtual'} = $2;		}	elsif ($in{'name'} =~ /^[a-z0-9]+$/) {		# creating a real interface		foreach $ea (@acts) {			if ($ea->{'name'} eq $in{'name'}) {				&error(&text('aifc_edup', $in{'name'}));				}			}		$a->{'name'} = $in{'name'};		}	else {		&error($text{'aifc_ename'});		}	&check_ipaddress($in{'address'}) ||		&error(&text('aifc_eip', $in{'address'}));	$a->{'address'} = $in{'address'};	if (!$in{'netmask_def'}) {		&check_ipaddress($in{'netmask'}) ||			&error(&text('aifc_emask', $in{'netmask'}));		$a->{'netmask'} = $in{'netmask'};		}	if (!$in{'broadcast_def'}) {		&check_ipaddress($in{'broadcast'}) ||			&error(&text('aifc_ebroad', $in{'broadcast'}));		$a->{'broadcast'} = $in{'broadcast'};		}	if (!$in{'mtu_def'}) {		$in{'mtu'} =~ /^\d+$/ ||			&error(&text('aifc_emtu', $in{'mtu'}));		$a->{'mtu'} = $in{'mtu'} if ($olda->{'mtu'} ne $in{'mtu'});		}	if ($in{'up'}) { $a->{'up'}++; }	if (!$in{'ether_def'} && $a->{'virtual'} eq "" &&	    &iface_hardware($a->{'name'})) {		$in{'ether'} =~ /^[A-Fa-f0-9:]+$/ ||			&error(&text('aifc_ehard', $in{'ether'}));		$a->{'ether'} = $in{'ether'}			if ($olda->{'ether'} ne $in{'ether'});		}	&activate_interface($a);	}&redirect("list_ifcs.cgi");

⌨️ 快捷键说明

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