\n";
# Choice between NFSv3 or NFSv4 (if system supports NFSv4, else default to NFSv3).
if ($nfsv == 4) {
print " | ",&hlink("$text{'edit_nfs_vers'}","vers")," | \n";
printf qq* 4\n*;
printf qq* 3 (or lower) | \n*;
} else {
printf " | \n";
}
# Show 'directory to export' input
print " | ",&hlink("$text{'edit_dir'}","dir")," | \n";
print "{'dir'}\">",
&file_chooser_button("dir", 1);
# Show 'NFSv4 root' checkbox
if ($nfsv == 4) {
printf qq* | $text{'edit_ispfs'} | \n*,defined($opts{'fsid'}) ? "checked" : "";
}
# Show 'bind to' input only for new export (else, bind is already done...)
if ($in{'new'} && $nfsv==4) {
print " | $text{'edit_in'} | \n";
print qq* | \n*;
}
# Show active input
print " | ",&hlink("$text{'edit_active'}","active")," | \n";
printf " $text{'yes'}\n",
$in{'new'} || $exp->{'active'} ? 'checked' : '';
#----------------------------------------------------------------
# Host selection
#----------------------------------------------------------------
print &ui_table_end();
print &ui_table_start($text{'hostsec_host'},'width=100%');
# Everybody (3)
printf " | | $text{'edit_all'} | \n",
$mode == 3 ? "checked" : "";
# Hostname (4)
printf " $text{'edit_host'}\n",
$mode == 4 ? "checked" : "";
print " | \n";
# Public (0)
printf "| $text{'edit_webnfs'} | \n",
$mode == 0 ? "checked" : "", $linux ? "disabled" : "";
# Netgroup (1)
printf " $text{'edit_netgroup'}\n",
$mode == 1 ? "checked" : "";
print " | \n";
# IPV4 Network (2)
printf "| IPv4 $text{'edit_network'}\n",
$mode == 2 ? "checked" : "";
print qq*\n*;
print "$text{'edit_netmask'} | \n";
# IPV6 Network (6)
printf "| IPv6 $text{'edit_address'}\n",
$mode == 6 ? "checked" : "";
print "\n";
print "$text{'edit_prefix'} | \n";
#----------------------------------------------------------------
# Flavors selection
#----------------------------------------------------------------
print &ui_table_end();
print qq*\n*;
print " | $text{'hostsec_flavors'} | \n";
print " \n";
# Lists and buttons for security flavors selection
print qq*
|
$text{'hostsec_supported'}
|
|
$text{'hostsec_enabled'}
|
|
*;
print &ui_table_end();
#-----------------------------------------------------------------
# Exports options
#-----------------------------------------------------------------
print &ui_table_start($text{'edit_security'},'width=100%');
# Show read-only input
print " | ",&hlink("$text{'edit_ro'}","ro")," | \n";
printf " $text{'yes'}\n",
defined($opts{'rw'}) ? "" : "checked";
# Show input for secure port
print " | ",&hlink("$text{'edit_insecure'}","insecure")," | \n";
printf " $text{'yes'}\n",
defined($opts{'insecure'}) ? "" : "checked";
# Show subtree check input
print " | | ",&hlink("$text{'edit_subtree_check'}","subtree_check")," | \n";
printf " $text{'yes'}\n",
defined($opts{'no_subtree_check'}) ? "checked" : "";
# Show nohide check input
print " | ",&hlink("$text{'edit_hide'}","hide")," | \n";
printf " $text{'yes'}\n",
defined($opts{'nohide'}) ? "" : "checked";
# Show sync input
print " | | ",&hlink("$text{'edit_sync'}","sync")," | \n";
printf " %s\n",defined($opts{'async'}) ? "" : "checked", $text{'yes'};
print " | \n";
# Show root trust input
print " | ",&hlink("$text{'edit_squash'}","squash")," | \n";
printf " $text{'edit_everyone'}\n",
defined($opts{'no_root_squash'}) ? "checked" : "";
printf " $text{'edit_except'}\n",
!defined($opts{'no_root_squash'}) &&
!defined($opts{'all_squash'}) ? "checked" : "";
printf " $text{'edit_nobody'}\n";
defined($opts{'all_squash'}) ? "checked" : "";
print " | \n";
# Show untrusted user input
print " | ",&hlink("$text{'edit_anonuid'}","anonuid")," | \n";
printf " $text{'edit_default'}\n",
defined($opts{'anonuid'}) ? "" : "checked";
printf "\n",
defined($opts{'anonuid'}) ? "checked" : "";
printf "\n",
$opts{'anonuid'} ? getpwuid($opts{'anonuid'}) : "";
print &user_chooser_button("anonuid", 0)," | \n";
# Show untrusted group input
print "",&hlink("$text{'edit_anongid'}","anongid")," | \n";
printf " $text{'edit_default'}\n",
defined($opts{'anongid'}) ? "" : "checked";
printf "\n",
defined($opts{'anongid'}) ? "checked" : "";
printf "\n",
$opts{'anongid'} ? getgrgid($opts{'anongid'}) : "";
print &group_chooser_button("anongid", 0)," | \n";
#-----------------------------------------------------------------
# NFSv2 specific options
#-----------------------------------------------------------------
if ($nfsv < 4) {
print " | $text{'edit_v2opts'} | \n";
# Show input for relative symlinks
print " | ",&hlink("$text{'edit_relative'}","link_relative")," | \n";
printf " $text{'yes'}\n",
defined($opts{'link_relative'}) ? "checked" : "";
printf " $text{'no'} | \n",
defined($opts{'link_relative'}) ? "" : "checked";
# Show deny access input
print "",&hlink("$text{'edit_noaccess'}","noaccess")," | \n";
printf " $text{'yes'}\n",
defined($opts{'noaccess'}) ? "checked" : "";
printf " $text{'no'} | \n",
defined($opts{'noaccess'}) ? "" : "checked";
# Show untrusted UIDs input
print " | ",&hlink("$text{'edit_uids'}","squash_uids")," | \n";
printf " $text{'edit_none'}\n",
$opts{'squash_uids'} ? "" : "checked";
printf "\n",
$opts{'squash_uids'} ? "checked" : "";
printf " | \n",
$opts{'squash_uids'};
# Show untrusted GIDs input
print "",&hlink("$text{'edit_gids'}","squash_gids")," | \n";
printf " $text{'edit_none'}\n",
$opts{'squash_gids'} ? "" : "checked";
printf "\n",
$opts{'squash_gids'} ? "checked" : "";
printf " | \n",
$opts{'squash_gids'};
}
print &ui_table_end();
if (!$in{'new'}) {
print "\n";
}
else {
print "\n";
print "\n";
}
&ui_print_footer("", $text{'index_return'});
| |