summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xusr.sbin/bsdconfig/bsdconfig13
-rwxr-xr-xusr.sbin/bsdconfig/console/console8
-rwxr-xr-xusr.sbin/bsdconfig/console/font7
-rwxr-xr-xusr.sbin/bsdconfig/console/keymap4
-rwxr-xr-xusr.sbin/bsdconfig/console/repeat7
-rwxr-xr-xusr.sbin/bsdconfig/console/saver7
-rwxr-xr-xusr.sbin/bsdconfig/console/screenmap7
-rwxr-xr-xusr.sbin/bsdconfig/console/ttys2
-rwxr-xr-xusr.sbin/bsdconfig/mouse/mouse8
-rwxr-xr-xusr.sbin/bsdconfig/mouse/port7
-rwxr-xr-xusr.sbin/bsdconfig/mouse/type7
-rwxr-xr-xusr.sbin/bsdconfig/networking/networking13
-rw-r--r--usr.sbin/bsdconfig/networking/share/resolv.subr11
-rw-r--r--usr.sbin/bsdconfig/password/share/password.subr13
-rwxr-xr-xusr.sbin/bsdconfig/security/kern_securelevel7
-rwxr-xr-xusr.sbin/bsdconfig/security/security12
-rw-r--r--usr.sbin/bsdconfig/share/media/any.subr6
-rw-r--r--usr.sbin/bsdconfig/share/media/ftp.subr3
-rw-r--r--usr.sbin/bsdconfig/share/media/options.subr7
-rw-r--r--usr.sbin/bsdconfig/share/mustberoot.subr17
-rwxr-xr-xusr.sbin/bsdconfig/share/packages/packages.subr54
-rwxr-xr-xusr.sbin/bsdconfig/startup/misc17
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcadd8
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcconf16
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcdelete40
-rwxr-xr-xusr.sbin/bsdconfig/startup/rcvar2
-rw-r--r--usr.sbin/bsdconfig/startup/share/rcconf.subr13
-rwxr-xr-xusr.sbin/bsdconfig/startup/startup10
-rwxr-xr-xusr.sbin/bsdconfig/timezone/timezone4
-rw-r--r--usr.sbin/bsdconfig/usermgmt/share/group_input.subr74
-rw-r--r--usr.sbin/bsdconfig/usermgmt/share/user_input.subr137
-rwxr-xr-xusr.sbin/bsdconfig/usermgmt/usermgmt13
32 files changed, 272 insertions, 282 deletions
diff --git a/usr.sbin/bsdconfig/bsdconfig b/usr.sbin/bsdconfig/bsdconfig
index c65c6c2a..987d6f5 100755
--- a/usr.sbin/bsdconfig/bsdconfig
+++ b/usr.sbin/bsdconfig/bsdconfig
@@ -50,7 +50,8 @@ USAGE_HELPFILE=$BSDCFG_LIBE/include/usage.hlp
#
usage()
{
- local index="INDEX" cmd_list=""
+ local index="INDEX"
+ local cmd_list # Calculated below
cd $BSDCFG_LIBE
# No need to preserve CWD (headed toward exit)
@@ -145,13 +146,12 @@ dialog_menu_main()
local title="$DIALOG_TITLE"
local btitle="$DIALOG_BACKTITLE"
local prompt="$msg_menu_text"
- local menu_list
- local defaultitem= # Calculated below
-
- menu_list="
+ local menu_list="
'X' '$msg_exit' '$msg_exit_bsdconfig'
'1' '$msg_usage' '$msg_quick_start_how_to_use_this_menu_system'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline=
local sanitize_awk="{ gsub(/'/, \"'\\\\''\"); print }"
@@ -185,7 +185,7 @@ dialog_menu_main()
\"\$title\" \
\"\$btitle\" \
\"\$prompt\" \
- \"\" \
+ \"\$hline\" \
$menu_list
# Obtain default-item from previously stored selection
@@ -196,6 +196,7 @@ dialog_menu_main()
--clear \
--title \"\$title\" \
--backtitle \"\$btitle\" \
+ --hline \"\$hline\" \
--item-help \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_exit_bsdconfig\" \
diff --git a/usr.sbin/bsdconfig/console/console b/usr.sbin/bsdconfig/console/console
index 6fe5bab..5a05080 100755
--- a/usr.sbin/bsdconfig/console/console
+++ b/usr.sbin/bsdconfig/console/console
@@ -48,12 +48,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline="$hline_configure_system_console_settings"
local prompt="$msg_console_menu_text"
- local defaultitem= # Calculated below
-
- menu_list="
+ local menu_list="
'X $msg_exit' '$msg_exit_this_menu'
'2 $msg_font' '$msg_choose_alternate_screen_font'
'3 $msg_keymap' '$msg_choose_alternate_keyboard_map'
@@ -62,6 +58,8 @@ dialog_menu_main()
'6 $msg_screenmap' '$msg_choose_alternate_screenmap'
'7 $msg_ttys' '$msg_choose_console_terminal_type'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_configure_system_console_settings"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/console/font b/usr.sbin/bsdconfig/console/font
index 340bc6d..abe82ed 100755
--- a/usr.sbin/bsdconfig/console/font
+++ b/usr.sbin/bsdconfig/console/font
@@ -49,11 +49,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_choose_a_font"
local prompt="$msg_font_menu_text"
-
- menu_list="
+ local menu_list="
'1 $msg_none' '$msg_use_hardware_default_font'
'2 $msg_ibm_437' '$msg_ibm_437_desc'
'3 $msg_ibm_850' '$msg_ibm_850_desc'
@@ -69,6 +66,8 @@ dialog_menu_main()
'd $msg_iso_8859_15' '$msg_iso_8859_15_desc'
'e $msg_swiss' '$msg_swiss_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_choose_a_font"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/console/keymap b/usr.sbin/bsdconfig/console/keymap
index fdbf511..66c1203 100755
--- a/usr.sbin/bsdconfig/console/keymap
+++ b/usr.sbin/bsdconfig/console/keymap
@@ -77,9 +77,9 @@ KEYMAP_NAMES="
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_choose_a_keyboard_map"
local prompt="$msg_keymap_menu_text"
+ local menu_list defaultitem= # Calculated below
+ local hline="$hline_choose_a_keyboard_map"
#
# Export variables for awk(1) ENVIRON visibility
diff --git a/usr.sbin/bsdconfig/console/repeat b/usr.sbin/bsdconfig/console/repeat
index a98e39f..ab4ba78 100755
--- a/usr.sbin/bsdconfig/console/repeat
+++ b/usr.sbin/bsdconfig/console/repeat
@@ -49,16 +49,15 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_choose_a_keyboard_repeat_rate"
local prompt="$msg_repeat_menu_text"
-
- menu_list="
+ local menu_list="
'$msg_default' '$msg_default_desc'
'$msg_slow' '$msg_slow_desc'
'$msg_normal' '$msg_normal_desc'
'$msg_fast' '$msg_fast_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_choose_a_keyboard_repeat_rate"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/console/saver b/usr.sbin/bsdconfig/console/saver
index d0150a7..8794e5f 100755
--- a/usr.sbin/bsdconfig/console/saver
+++ b/usr.sbin/bsdconfig/console/saver
@@ -49,11 +49,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_choose_a_screen_saver"
local prompt="$msg_saver_menu_text"
-
- menu_list="
+ local menu_list="
'1 $msg_blank' '$msg_blank_desc'
'2 $msg_beastie' '$msg_beastie_desc'
'3 $msg_daemon' '$msg_daemon_desc'
@@ -69,6 +66,8 @@ dialog_menu_main()
'd $msg_none' '$msg_none_saver_desc'
'$msg_timeout' '$msg_timeout_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_choose_a_screen_saver"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/console/screenmap b/usr.sbin/bsdconfig/console/screenmap
index 6fc3ddd..27f4cb9 100755
--- a/usr.sbin/bsdconfig/console/screenmap
+++ b/usr.sbin/bsdconfig/console/screenmap
@@ -49,11 +49,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_choose_a_screen_map"
local prompt="$msg_screenmap_menu_text"
-
- menu_list="
+ local menu_list="
'1 $msg_none' '$msg_none_screenmap_desc'
'2 $msg_iso_8859_1_to_ibm437' '$msg_iso_8859_1_to_ibm437_desc'
'3 $msg_iso_8859_7_to_ibm437' '$msg_iso_8859_7_to_ibm437_desc'
@@ -61,6 +58,8 @@ dialog_menu_main()
'5 $msg_koi8_r_to_ibm866' '$msg_koi8_r_to_ibm866_desc'
'6 $msg_koi8_u_to_ibm866u' '$msg_koi8_u_to_ibm866u_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_choose_a_screen_map"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/console/ttys b/usr.sbin/bsdconfig/console/ttys
index 96126ad..f488efd 100755
--- a/usr.sbin/bsdconfig/console/ttys
+++ b/usr.sbin/bsdconfig/console/ttys
@@ -72,8 +72,8 @@ TTY_MENU_LIST="
#
dialog_menu_main()
{
- local hline="$hline_choose_a_terminal_type"
local prompt="$msg_ttys_menu_text"
+ local hline="$hline_choose_a_terminal_type"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/mouse/mouse b/usr.sbin/bsdconfig/mouse/mouse
index cfc91ce..f044d72 100755
--- a/usr.sbin/bsdconfig/mouse/mouse
+++ b/usr.sbin/bsdconfig/mouse/mouse
@@ -48,12 +48,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline=""
local prompt="$msg_menu_text"
- local defaultitem= # Calculated below
-
- menu_list="
+ local menu_list="
'X $msg_exit' '$msg_exit_this_menu'
'2 $msg_enable' '$msg_test_and_run_the_mouse_daemon'
'3 $msg_type' '$msg_select_mouse_protocol_type'
@@ -61,6 +57,8 @@ dialog_menu_main()
'5 $msg_flags' '$msg_set_additional_flags'
'6 $msg_disable' '$msg_disable_the_mouse_daemon'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline=
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/mouse/port b/usr.sbin/bsdconfig/mouse/port
index 6e4b873..3c0ee5a 100755
--- a/usr.sbin/bsdconfig/mouse/port
+++ b/usr.sbin/bsdconfig/mouse/port
@@ -49,11 +49,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline=""
local prompt="$msg_port_menu_text"
-
- menu_list="
+ local menu_list="
'1 $msg_ps2' '$msg_ps2_desc'
'2 $msg_com1' '$msg_com1_desc'
'3 $msg_com2' '$msg_com2_desc'
@@ -61,6 +58,8 @@ dialog_menu_main()
'5 $msg_com4' '$msg_com4_desc'
'6 $msg_busmouse' '$msg_busmouse_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline=
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/mouse/type b/usr.sbin/bsdconfig/mouse/type
index 2e14305..b29ef24 100755
--- a/usr.sbin/bsdconfig/mouse/type
+++ b/usr.sbin/bsdconfig/mouse/type
@@ -49,11 +49,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline=""
local prompt="$msg_protocol_menu_text"
-
- menu_list="
+ local menu_list="
'1 $msg_auto' '$msg_auto_desc'
'2 $msg_glidepoint' '$msg_glidepoint_desc'
'3 $msg_hitachi' '$msg_hitachi_desc'
@@ -65,6 +62,8 @@ dialog_menu_main()
'9 $msg_mousesystems' '$msg_mousesystems_desc'
'A $msg_thinkingmouse' '$msg_thinkingmouse_desc'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline=
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/networking/networking b/usr.sbin/bsdconfig/networking/networking
index e1d30cf..ba34af3 100755
--- a/usr.sbin/bsdconfig/networking/networking
+++ b/usr.sbin/bsdconfig/networking/networking
@@ -48,23 +48,22 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline="$hline_arrows_tab_enter"
- local defaultitem= # Calculated below
-
- menu_list="
+ local prompt=
+ local menu_list="
'X' '$msg_exit'
'1' '$msg_hostname_domain'
'2' '$msg_network_interfaces'
'3' '$msg_default_router'
'4' '$msg_dns_nameservers'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
local height width rows
eval f_dialog_menu_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
@@ -79,7 +78,7 @@ dialog_menu_main()
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--default-item \"\$defaultitem\" \
- --menu \"\" \
+ --menu \"\$prompt\" \
$height $width $rows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
diff --git a/usr.sbin/bsdconfig/networking/share/resolv.subr b/usr.sbin/bsdconfig/networking/share/resolv.subr
index 59e0332..8e8ad78 100644
--- a/usr.sbin/bsdconfig/networking/share/resolv.subr
+++ b/usr.sbin/bsdconfig/networking/share/resolv.subr
@@ -392,23 +392,24 @@ f_dialog_input_nameserver()
#
f_dialog_menu_nameservers()
{
+ local prompt="$msg_dns_configuration"
+ local menu_list # Calculated below
+ local hline="$hline_arrows_tab_enter"
+ local defaultitem=
local height width rows
local opt_exit="$msg_return_to_previous_menu"
local opt_add="$msg_add_nameserver"
- local hline="$hline_arrows_tab_enter"
- local prompt defaultitem=
#
# Loop forever until the user has finished configuring nameservers
#
- prompt="$msg_dns_configuration"
while :; do
#
# Re/Build list of nameservers
#
local nameservers="$( f_resolv_conf_nameservers )"
- local menu_list="$(
+ menu_list=$(
index=1
echo "'X $msg_exit' '$opt_exit'"
@@ -423,7 +424,7 @@ f_dialog_menu_nameservers()
echo "'$tag nameserver' '$ns'"
index=$(( $index + 1 ))
done
- )"
+ )
#
# Display configuration-edit menu
diff --git a/usr.sbin/bsdconfig/password/share/password.subr b/usr.sbin/bsdconfig/password/share/password.subr
index ad1b2a1..5002e41 100644
--- a/usr.sbin/bsdconfig/password/share/password.subr
+++ b/usr.sbin/bsdconfig/password/share/password.subr
@@ -45,24 +45,23 @@ f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr
#
f_dialog_input_password()
{
+ local prompt1="$msg_enter_new_password"
+ local prompt2="$msg_reenter_password"
local hline="$hline_alnum_punc_tab_enter"
- local msg rmsg
- msg=$( printf "$msg_enter_new_password" )
local height1 width1
f_dialog_inputbox_size height1 width1 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt1" \
"" \
"$hline"
- rmsg=$( printf "$msg_reenter_password" )
local height2 width2
f_dialog_inputbox_size height2 width2 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$rmsg" \
+ "$prompt2" \
"" \
"$hline"
@@ -78,7 +77,7 @@ f_dialog_input_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$msg" \
+ --passwordbox "$prompt1" \
$height1 $width1 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
@@ -92,7 +91,7 @@ f_dialog_input_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$rmsg" \
+ --passwordbox "$prompt2" \
$height2 $width2 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
diff --git a/usr.sbin/bsdconfig/security/kern_securelevel b/usr.sbin/bsdconfig/security/kern_securelevel
index 69c28b2..2e56452 100755
--- a/usr.sbin/bsdconfig/security/kern_securelevel
+++ b/usr.sbin/bsdconfig/security/kern_securelevel
@@ -51,16 +51,15 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list defaultitem=
- local hline="$hline_select_securelevel_to_operate_at"
local prompt="$msg_securelevels_menu_text"
-
- menu_list="
+ local menu_list="
'$msg_disabled' '$msg_disable_securelevels'
'$msg_secure' '$msg_secure_mode'
'$msg_highly_secure' '$msg_highly_secure_mode'
'$msg_network_secure' '$msg_network_secure_mode'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_select_securelevel_to_operate_at"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/security/security b/usr.sbin/bsdconfig/security/security
index 5ad6f88..28d9fee 100755
--- a/usr.sbin/bsdconfig/security/security
+++ b/usr.sbin/bsdconfig/security/security
@@ -49,21 +49,21 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list mark=" " defaultitem=
- local hline="$hline_arrows_tab_enter"
local prompt="$msg_menu_text"
+ local menu_list="
+ 'X <<< $msg_exit' '$msg_exit_this_menu'
+ " # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
# Obtain default-item (adjusted below for dynamic tags)
f_dialog_default_fetch defaultitem
local ditem="${defaultitem%%[$IFS]*}"
- menu_list="
- 'X <<< $msg_exit' '$msg_exit_this_menu'
- " # END-QUOTE
-
#
# Add dynamically tagged entry for kern_securelevels
#
+ local mark=" "
case "$( f_sysrc_get kern_securelevel_enable )" in
[Yy][Ee][Ss])
local kern_securelevel="$( f_sysrc_get kern_securelevel )"
diff --git a/usr.sbin/bsdconfig/share/media/any.subr b/usr.sbin/bsdconfig/share/media/any.subr
index 3841300..e54af4b 100644
--- a/usr.sbin/bsdconfig/share/media/any.subr
+++ b/usr.sbin/bsdconfig/share/media/any.subr
@@ -68,10 +68,7 @@ f_media_get_type()
local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
f_dialog_title_restore
local prompt="$msg_choose_installation_media_description"
- local hline="$hline_choose_help_for_more_information_on_media_types"
- local menu_list
-
- menu_list="
+ local menu_list="
'1 $msg_cd_dvd' '$msg_install_from_a_freebsd_cd_dvd'
'2 $msg_ftp' '$msg_install_from_an_ftp_server'
'3 $msg_ftp_passive'
@@ -85,6 +82,7 @@ f_media_get_type()
'A $msg_usb' '$msg_install_from_a_usb_drive'
'X $msg_options' '$msg_view_set_various_media_options'
" # END-QUOTE
+ local hline="$hline_choose_help_for_more_information_on_media_types"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/share/media/ftp.subr b/usr.sbin/bsdconfig/share/media/ftp.subr
index 5164bf2..e6cea0f 100644
--- a/usr.sbin/bsdconfig/share/media/ftp.subr
+++ b/usr.sbin/bsdconfig/share/media/ftp.subr
@@ -72,9 +72,7 @@ f_dialog_menu_media_ftp()
f_dialog_title "$msg_please_select_a_freebsd_ftp_distribution_site"
local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
f_dialog_title_restore
-
local prompt="$msg_please_select_the_site_closest_to_you_or_other"
- local hline="$msg_select_a_site_thats_close"
local menu_list="
'$msg_main_site' 'ftp.freebsd.org'
'URL' '$msg_specify_some_other_ftp_site'
@@ -228,6 +226,7 @@ f_dialog_menu_media_ftp()
' $msg_usa #14' 'ftp14.us.freebsd.org'
' $msg_usa #15' 'ftp15.us.freebsd.org'
" # END-QUOTE
+ local hline="$msg_select_a_site_thats_close"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/share/media/options.subr b/usr.sbin/bsdconfig/share/media/options.subr
index b7bf2e8..b73d004 100644
--- a/usr.sbin/bsdconfig/share/media/options.subr
+++ b/usr.sbin/bsdconfig/share/media/options.subr
@@ -53,9 +53,10 @@ f_media_options_menu()
f_dialog_title "$msg_options_editor"
local title="$DIALOG_TITLE" btitle="$DIALOG_BACKTITLE"
f_dialog_title_restore
- local prompt=""
+ local prompt=
+ local menu_list # Calculated below
+ local defaultitem=
local hline="$hline_arrows_tab_enter"
- local menu_list cp
#
# A hack so that the dialogs below are always interactive in a script
@@ -66,7 +67,7 @@ f_media_options_menu()
unset $VAR_NONINTERACTIVE
fi
- local defaultitem=
+ local cp
while :; do
menu_list=""
diff --git a/usr.sbin/bsdconfig/share/mustberoot.subr b/usr.sbin/bsdconfig/share/mustberoot.subr
index bf8dd67..0b134f8 100644
--- a/usr.sbin/bsdconfig/share/mustberoot.subr
+++ b/usr.sbin/bsdconfig/share/mustberoot.subr
@@ -77,7 +77,7 @@ SECURE_DIVULGE_UNKNOWN_USER=
#
f_become_root_via_sudo()
{
- local msg hline height width rows
+ local prompt hline height width rows msg
[ "$( id -u )" = "0" ] && return $SUCCESS
@@ -90,18 +90,19 @@ f_become_root_via_sudo()
#
local checkpath="${HOME%/}/.bsdconfig_uses_sudo"
if [ ! -e "$checkpath" ]; then
+ prompt=$( printf "$msg_you_are_not_root_but" bsdconfig )
msg=$( printf "$msg_always_try_sudo_when_run_as" "$USER" )
local menu_list="
'X' '$msg_cancel_exit'
'1' '$msg'
'2' '$msg_try_sudo_only_this_once'
" # END-QUOTE
- msg=$( printf "$msg_you_are_not_root_but" bsdconfig )
hline="$hline_arrows_tab_enter"
+
eval f_dialog_menu_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\$msg\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
@@ -112,7 +113,7 @@ f_become_root_via_sudo()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --menu \"\$msg\" \
+ --menu \"\$prompt\" \
$height $width $rows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -147,12 +148,12 @@ f_become_root_via_sudo()
#
# sudo(8) access denied. Prompt for their password.
#
- msg="$msg_please_enter_password"
+ prompt="$msg_please_enter_password"
hline="$hline_alnum_punc_tab_enter"
f_dialog_inputbox_size height width \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt" \
"$hline"
#
@@ -168,7 +169,7 @@ f_become_root_via_sudo()
--hline "$hline" \
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
- --password --inputbox "$msg" \
+ --password --inputbox "$prompt" \
$height $width \
2>&1 > /dev/null )
retval=$?
@@ -184,7 +185,7 @@ f_become_root_via_sudo()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$msg" \
+ --passwordbox "$prompt" \
$height $width \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || exit $?
diff --git a/usr.sbin/bsdconfig/share/packages/packages.subr b/usr.sbin/bsdconfig/share/packages/packages.subr
index 3bc37b5..dae80a1 100755
--- a/usr.sbin/bsdconfig/share/packages/packages.subr
+++ b/usr.sbin/bsdconfig/share/packages/packages.subr
@@ -277,25 +277,26 @@ f_package_calculate_rundeps()
#
f_package_menu_categories()
{
- local var_to_get="$1" defaultitem="$2" category_list menu_list
+ local var_to_get="$1" defaultitem="$2"
+ local prompt="$msg_please_select_a_category_to_display"
+ local menu_list="
+ '> $msg_review' '$msg_review_desc' '$msg_review_help'
+ " # End-Quote
+ local hline=
f_package_calculate_rundeps
# updates package mark variables and SELECTED_PACKAGES
f_package_calculate_totals
# creates _{varcat}_ninstalled and _{varcat}_nselected
+ local category_list
debug= f_getvar "$var_to_get" category_list || return $FAILURE
# Accent the category menu list with ninstalled/nselected
eval f_package_accent_category_menu category_list $category_list
- local prompt="$msg_please_select_a_category_to_display"
- local hline=""
-
- menu_list="
- '> $msg_review' '$msg_review_desc' '$msg_review_help'
- $category_list
- " # End-Quote
+ # Add list of categories to menu list
+ menu_list="$menu_list $category_list"
local height width rows
eval f_dialog_menu_with_help_size height width rows \
@@ -365,22 +366,26 @@ f_package_index_get_page()
#
f_package_menu_select()
{
- local category="$1" page="${2:-1}" defaultitem="$3"
- local varcat npkgs=0 npages menu_list
+ local category="$1" page="${2:-1}"
+ local prompt= # Calculated below
+ local menu_list # Calculated below
+ local defaultitem="$3"
+ local hline="$hline_arrows_tab_punc_enter"
f_isinteger "$page" || return $FAILURE
+ local varcat
f_str2varname "$category" varcat
- f_package_index_get_page "$category" $page index_page
# Get number of packages for this category
+ local npkgs=0
case "$category" in
"$msg_all"|"") npkgs="${_npkgs:-0}";;
*) f_getvar _npkgs_$varcat npkgs
esac
# Calculate number of pages
- npages=$(( ${npkgs:=0} / $PACKAGE_MENU_PAGESIZE ))
+ local npages=$(( ${npkgs:=0} / $PACKAGE_MENU_PAGESIZE ))
# Add a page to the pagecount if not evenly divisible
[ $(( $npages * $PACKAGE_MENU_PAGESIZE )) -lt $npkgs ] &&
@@ -407,6 +412,9 @@ f_package_menu_select()
next_page="$next_page*"
fi
+ local index_page
+ f_package_index_get_page "$category" $page index_page
+
menu_list="
${add_prev:+'> $previous_page' '' ${SHOW_DESC:+''}}
${add_next:+'> $next_page' '' ${SHOW_DESC:+''}}
@@ -446,7 +454,6 @@ f_package_menu_select()
${add_next:+'> $next_page' '' ${SHOW_DESC:+''}}
" # End-Quote
- local prompt=""
# Accept/Translate i18n "All" but other category names must
# match tree definitions from INDEX, ports, FTP, etc.
case "$category" in
@@ -456,7 +463,6 @@ f_package_menu_select()
prompt="$prompt $( printf "$msg_page_of_npages" \
"$page" "$npages" )"
- local hline="$hline_arrows_tab_punc_enter"
local mheight mwidth mrows
f_dialog_menu${SHOW_DESC:+_with_help}_size mheight mwidth mrows \
\"\$DIALOG_TITLE\" \"\$DIALOG_BACKTITLE\" \
@@ -509,14 +515,16 @@ f_package_menu_select()
#
f_package_menu_deselect()
{
- local package="$1" prompt menu_list
- prompt=$( printf "$msg_what_would_you_like_to_do_with" "$package" )
- local hline="$hline_alnum_arrows_punc_tab_enter"
- menu_list="
+ local package="$1"
+ local prompt # Calculated below
+ local menu_list="
'X $msg_installed' '$msg_installed_desc'
'R $msg_reinstall' '$msg_reinstall_desc'
'U $msg_uninstall' '$msg_uninstall_desc'
" # End-Quote
+ local hline="$hline_alnum_arrows_punc_tab_enter"
+
+ prompt=$( printf "$msg_what_would_you_like_to_do_with" "$package" )
local height width rows
eval f_dialog_menu_size height width rows \
@@ -551,12 +559,16 @@ f_package_menu_deselect()
#
f_package_review()
{
- local prompt package varpkg mark menu_list=
- prompt=$( printf "$msg_reviewing_selected_packages" \
- "$_All_nselected" )
+ local prompt # Calculated below
+ local menu_list # Calculated below
local hline="$hline_alnum_arrows_punc_tab_enter"
+
f_dprintf "f_package_review: SELECTED_PACKAGES=[%s]" \
"$SELECTED_PACKAGES"
+
+ prompt=$( printf "$msg_reviewing_selected_packages" "$_All_nselected" )
+
+ local package varpkg mark
for package in $SELECTED_PACKAGES; do
mark=
f_str2varname "$package" varpkg
diff --git a/usr.sbin/bsdconfig/startup/misc b/usr.sbin/bsdconfig/startup/misc
index 01c0a4c..7659d5f 100755
--- a/usr.sbin/bsdconfig/startup/misc
+++ b/usr.sbin/bsdconfig/startup/misc
@@ -56,19 +56,14 @@ UNAME_P=$( uname -p ) # Processor Architecture (i.e. i386)
#
dialog_menu_main()
{
- local menu_list var_list defaultitem=
- local hline="$hline_arrows_tab_enter"
local prompt="$msg_miscellaneous_menu_text"
-
- # Obtain default-item (adjusted below for dynamic tags)
- f_dialog_default_fetch defaultitem
- local ditem="${defaultitem%%[$IFS]*}"
-
- menu_list="
+ local menu_list="
'X <<< $msg_exit' '$msg_exit_this_menu'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
- var_list="
+ local var_list="
accounting_enable
local_startup
lpd_enable
@@ -88,6 +83,10 @@ dialog_menu_main()
" # END-QUOTE
fi
+ # Obtain default-item (adjusted below for dynamic tags)
+ f_dialog_default_fetch defaultitem
+ local ditem="${defaultitem%%[$IFS]*}"
+
eval "$(
. "$RC_DEFAULTS"
source_rc_confs
diff --git a/usr.sbin/bsdconfig/startup/rcadd b/usr.sbin/bsdconfig/startup/rcadd
index f26c7e3..dd3aeb2 100755
--- a/usr.sbin/bsdconfig/startup/rcadd
+++ b/usr.sbin/bsdconfig/startup/rcadd
@@ -57,14 +57,12 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline="$hline_arrows_tab_enter"
- local prompt=""
-
- menu_list="
+ local prompt=
+ local menu_list="
'1' '$msg_add_from_list'
'2' '$msg_add_custom'
" # END-QUOTE
+ local hline="$hline_arrows_tab_enter"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/startup/rcconf b/usr.sbin/bsdconfig/startup/rcconf
index 3b84531..6a41b7e 100755
--- a/usr.sbin/bsdconfig/startup/rcconf
+++ b/usr.sbin/bsdconfig/startup/rcconf
@@ -49,7 +49,6 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
RCCONF_MAP=
_RCCONF_MAP=
-RCCONF_MENU_LIST=
#
# Options
@@ -79,11 +78,8 @@ fi
#
dialog_menu_main()
{
- local hline="$hline_arrows_tab_enter"
- local prompt=""
- local defaultitem= # Calculated below
-
- RCCONF_MENU_LIST="
+ local prompt=
+ local menu_list="
'X $msg_exit' '$msg_exit_desc'
${SHOW_DESC:+'$msg_exit_help'}
'> $msg_add_new' '$msg_add_new_desc'
@@ -95,6 +91,8 @@ dialog_menu_main()
${SHOW_DESC:+'$msg_view_details_help'}
}
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
if [ ! "$_RCCONF_MAP" ]; then
# Genreate RCCONF_MAP of `var desc ...' per-line
@@ -110,7 +108,7 @@ dialog_menu_main()
[ "$SHOW_DEFAULT_VALUE" -o "$SHOW_CONFIGURED" ] &&
f_dialog_info "$msg_creating_menu_list"
- RCCONF_MENU_LIST="$RCCONF_MENU_LIST $(
+ menu_list="$menu_list $(
. "$RC_DEFAULTS" > /dev/null
source_rc_confs > /dev/null
var_list=$( f_startup_rcconf_list )
@@ -169,7 +167,7 @@ dialog_menu_main()
\"\$DIALOG_BACKTITLE\" \
\"\$prompt\" \
\"\$hline\" \
- $RCCONF_MENU_LIST
+ $menu_list
# Obtain default-item from previously stored selection
f_dialog_default_fetch defaultitem
@@ -187,7 +185,7 @@ dialog_menu_main()
--default-item \"\$defaultitem\" \
--menu \"\$prompt\" \
$height $width $rows \
- $RCCONF_MENU_LIST \
+ $menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
)
local retval=$?
diff --git a/usr.sbin/bsdconfig/startup/rcdelete b/usr.sbin/bsdconfig/startup/rcdelete
index db935eb..76701c8 100755
--- a/usr.sbin/bsdconfig/startup/rcdelete
+++ b/usr.sbin/bsdconfig/startup/rcdelete
@@ -146,9 +146,23 @@ dialog_create_main()
#
dialog_menu_main()
{
- local hline="$hline_arrows_tab_enter"
- local prompt=""
+ local prompt=
+ local menu_list="
+ 'X $msg_exit_cancel' '$msg_exit_cancel_desc'
+ ${SHOW_DESC:+'$msg_exit_cancel_help'}
+ '> $msg_delete_selected' '$msg_delete_selected_desc'
+ ${SHOW_DESC:+'$msg_delete_selected_help'}
+ '> $msg_all' '$msg_all_desc'
+ ${SHOW_DESC:+'$msg_all_help'}
+ '> $msg_none' '$msg_none_desc'
+ ${SHOW_DESC:+'$msg_none_help'}
+ ${USE_XDIALOG:+
+ '> $msg_view_details' '$msg_view_details_desc'
+ ${SHOW_DESC:+'$msg_view_details_help'}
+ }
+ " # END-QUOTE
local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
#
# [Re-]Accent the menu list before incorporating it
@@ -178,22 +192,7 @@ dialog_menu_main()
menu_buf="$menu_buf
'$rcconf_var' '$details' ${SHOW_DESC:+'$help'}" # End-Quote
done
-
- local menu_list="
- 'X $msg_exit_cancel' '$msg_exit_cancel_desc'
- ${SHOW_DESC:+'$msg_exit_cancel_help'}
- '> $msg_delete_selected' '$msg_delete_selected_desc'
- ${SHOW_DESC:+'$msg_delete_selected_help'}
- '> $msg_all' '$msg_all_desc'
- ${SHOW_DESC:+'$msg_all_help'}
- '> $msg_none' '$msg_none_desc'
- ${SHOW_DESC:+'$msg_none_help'}
- ${USE_XDIALOG:+
- '> $msg_view_details' '$msg_view_details_desc'
- ${SHOW_DESC:+'$msg_view_details_help'}
- }
- $menu_buf
- " # END-QUOTE
+ menu_list="$menu_list $menu_buf"
set -f # noglob (descriptions in $RCCONF_MENU_LIST may contain *)
@@ -244,9 +243,9 @@ dialog_menu_main()
#
dialog_menu_confirm_delete()
{
- local hline="$hline_arrows_tab_enter"
local prompt="$msg_are_you_sure_you_want_delete_the_following"
- local var_list menu_list
+ local menu_list # Calculated below
+ local hline="$hline_arrows_tab_enter"
[ $# -ge 1 ] || return $FAILURE
@@ -255,6 +254,7 @@ dialog_menu_confirm_delete()
return $?
fi
+ local var_list
var_list=$( for var in $*; do echo "$var"; done | sort -u )
menu_list=$(
. "$RC_DEFAULTS"
diff --git a/usr.sbin/bsdconfig/startup/rcvar b/usr.sbin/bsdconfig/startup/rcvar
index 67748dd..a7b32b3 100755
--- a/usr.sbin/bsdconfig/startup/rcvar
+++ b/usr.sbin/bsdconfig/startup/rcvar
@@ -65,8 +65,8 @@ RCVAR_MENU_LIST=
#
dialog_menu_main()
{
+ local prompt=
local hline="$hline_arrows_tab_enter"
- local prompt=""
local defaultitem= # Calculated below
RCVAR_MENU_LIST="
diff --git a/usr.sbin/bsdconfig/startup/share/rcconf.subr b/usr.sbin/bsdconfig/startup/share/rcconf.subr
index ed8553a..6cfe509 100644
--- a/usr.sbin/bsdconfig/startup/share/rcconf.subr
+++ b/usr.sbin/bsdconfig/startup/share/rcconf.subr
@@ -273,15 +273,16 @@ f_startup_rcconf_map_expand()
#
f_dialog_input_view_details()
{
- local menu_list
+ local prompt=
+ local menu_list # calculated below
+ local defaultitem= # calculated below
local hline="$hline_arrows_tab_enter"
- local prompt=""
local md=" "
if [ "$SHOW_DESC" ]; then
md="X"
fi
- local m1=" " m2=" " m3=" " defaultitem=
+ local m1=" " m2=" " m3=" "
if [ "$SHOW_VALUE" ]; then
m1="*"
defaultitem="1 ($m1) $msg_show_value"
@@ -367,13 +368,11 @@ f_dialog_input_view_details()
#
f_dialog_input_rclist()
{
- local hline="$hline_arrows_tab_enter"
local prompt="$msg_please_select_an_rcconf_directive"
- local menu_list
-
- menu_list="
+ local menu_list="
'X $msg_exit' '' ${SHOW_DESC:+'$msg_exit_help'}
" # END-QUOTE
+ local hline="$hline_arrows_tab_enter"
if [ ! "$_RCCONF_MAP" ]; then
# Generate RCCONF_MAP of `var desc ...' per-line
diff --git a/usr.sbin/bsdconfig/startup/startup b/usr.sbin/bsdconfig/startup/startup
index 15bd66a..55a78a6 100755
--- a/usr.sbin/bsdconfig/startup/startup
+++ b/usr.sbin/bsdconfig/startup/startup
@@ -48,17 +48,15 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline="$hline_arrows_tab_enter"
- local prompt=""
- local defaultitem= # Calculated below
-
- menu_list="
+ local prompt=
+ local menu_list="
'X' '$msg_exit'
'1' '$msg_toggle_startup_services'
'2' '$msg_view_edit_startup_configuration'
'3' '$msg_miscellaneous_startup_services'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
local height width rows
eval f_dialog_menu_size height width rows \
diff --git a/usr.sbin/bsdconfig/timezone/timezone b/usr.sbin/bsdconfig/timezone/timezone
index 44bba7c..224c143 100755
--- a/usr.sbin/bsdconfig/timezone/timezone
+++ b/usr.sbin/bsdconfig/timezone/timezone
@@ -84,13 +84,14 @@ dialog_menu_main()
local btitle="$DIALOG_BACKTITLE"
local prompt="$msg_select_region"
local defaultitem= # Calculated below
+ local hline=
local height width rows
eval f_dialog_menu_size height width rows \
\"\$title\" \
\"\$btitle\" \
\"\$prompt\" \
- \"\" \
+ \"\$hline\" \
$continent_menu_list
# Obtain default-item from previously stored selection
@@ -100,6 +101,7 @@ dialog_menu_main()
menu_choice=$( eval $DIALOG \
--title \"\$title\" \
--backtitle \"\$btitle\" \
+ --hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--default-item \"\$defaultitem\" \
diff --git a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
index 49986cf..1bb3819 100644
--- a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
+++ b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
@@ -65,13 +65,12 @@ f_input_group()
#
f_dialog_menu_group_list()
{
- local defaultitem="$1"
- local menu_list
- local hline="$hline_alnum_punc_tab_enter"
-
- menu_list="
+ local prompt=
+ local menu_list="
'X $msg_exit' ''
" # END-QUOTE
+ local defaultitem="$1"
+ local hline="$hline_alnum_punc_tab_enter"
# Add groups from group(5)
menu_list="$menu_list $( pw groupshow -a | awk -F: '
@@ -84,7 +83,7 @@ f_dialog_menu_group_list()
eval f_dialog_menu_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
@@ -96,7 +95,7 @@ f_dialog_menu_group_list()
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--default-item \"\$defaultitem\" \
- --menu \"\" \
+ --menu \"\$prompt\" \
$height $width $rows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -171,24 +170,23 @@ f_dialog_input_group_name()
#
f_dialog_input_group_password()
{
+ local prompt1="$msg_group_password"
+ local prompt2="$msg_reenter_group_password"
local hline="$hline_alnum_punc_tab_enter"
- local msg rmsg
- msg=$( printf "$msg_group_password" )
local height1 width1
f_dialog_inputbox_size height1 width1 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt1" \
"" \
"$hline"
- rmsg=$( printf "$msg_reenter_group_password" )
local height2 width2
f_dialog_inputbox_size height2 width2 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$rmsg" \
+ "$prompt2" \
"" \
"$hline"
@@ -204,7 +202,7 @@ f_dialog_input_group_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$msg" \
+ --passwordbox "$prompt1" \
$height1 $width1 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
)
@@ -221,7 +219,7 @@ f_dialog_input_group_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$rmsg" \
+ --passwordbox "$prompt2" \
$height2 $width2 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
)
@@ -288,30 +286,25 @@ f_dialog_input_group_gid()
#
f_dialog_input_group_members()
{
- local menu_choice retval _input="$1"
- local msg="$msg_group_members:"
- local hline="$hline_num_arrows_tab_enter"
- local user
- local menu_list
- local all_users_valid
- local _group_members
- local checklist_users
-
- menu_list="
+ local _input="$1"
+ local prompt="$msg_group_members:"
+ local menu_list="
'X' '$msg_continue'
'1' '$msg_select_group_members_from_list'
'2' '$msg_enter_group_members_manually'
" # END-QUOTE
+ local defaultitem=
+ local hline="$hline_num_arrows_tab_enter"
- local menu_choice defaultitem=
local mheight mwidth mrows
eval f_dialog_menu_size mheight mwidth mrows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\$msg\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
+ local menu_choice retval
while :; do
menu_choice=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
@@ -320,7 +313,7 @@ f_dialog_input_group_members()
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--default-item \"\$defaultitem\" \
- --menu \"\$msg\" \
+ --menu \"\$prompt\" \
$mheight $mwidth $mrows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -333,19 +326,20 @@ f_dialog_input_group_members()
# Return if user has either pressed ESC or chosen Cancel/No
[ $retval -eq $SUCCESS ] || return $retval
+ local _group_members
case "$menu_choice" in
X) # Exit
break ;;
1) # Select Group Members from a list
- user_list=$( pw usershow -a | awk -F: '
- !/^[[:space:]]*(#|$)/ { printf "%s\n", $1 }' )
- checklist_users=
- for user in $user_list; do
- checklist_users="$checklist_users $user \"\""
+ local user check_list=
+ for user in $( pw usershow -a |
+ awk -F: '!/^[[:space:]]*(#|$)/{print $1}'
+ ); do
+ # Format of a checklist entry: tag item status
if echo "$_input" | grep -q "\<$user\>"; then
- checklist_users="$checklist_users on"
+ check_list="$check_list $user '' on"
else
- checklist_users="$checklist_users off"
+ check_list="$check_list $user '' off"
fi
done
@@ -353,9 +347,9 @@ f_dialog_input_group_members()
eval f_dialog_checklist_size cheight cwidth crows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
- $checklist_users
+ $check_list
_group_members=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
@@ -363,9 +357,9 @@ f_dialog_input_group_members()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --checklist \"\$msg\" \
+ --checklist \"\$prompt\" \
$cheight $cwidth $crows \
- $checklist_users \
+ $check_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || continue
# Return to previous menu if user either
@@ -383,9 +377,9 @@ f_dialog_input_group_members()
_input="$_group_members"
;;
2) # Enter Group Members manually
- msg="$msg_group_members ($msg_separated_by_commas)"
+ local p="$msg_group_members ($msg_separated_by_commas)"
- f_dialog_input _group_members "$msg" "$_input" \
+ f_dialog_input _group_members "$p" "$_input" \
"$hline_num_tab_enter" || continue
# Return to previous menu if user either
# pressed ESC or chose Cancel/No
diff --git a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
index 7b79d7b..63f4583 100644
--- a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
+++ b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
@@ -90,13 +90,12 @@ f_input_user()
#
f_dialog_menu_user_list()
{
- local defaultitem="$1"
- local menu_list
- local hline="$hline_alnum_punc_tab_enter"
-
- menu_list="
+ local prompt=
+ local menu_list="
'X $msg_exit' ''
" # END-QUOTE
+ local defaultitem="$1"
+ local hline="$hline_alnum_punc_tab_enter"
# Add users from passwd(5)
menu_list="$menu_list $( pw usershow -a | awk -F: '
@@ -109,7 +108,7 @@ f_dialog_menu_user_list()
eval f_dialog_menu_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
@@ -121,7 +120,7 @@ f_dialog_menu_user_list()
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--default-item \"\$defaultitem\" \
- --menu \"\" \
+ --menu \"\$prompt\" \
$height $width $rows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -139,35 +138,38 @@ f_dialog_menu_user_list()
#
f_dialog_input_member_groups()
{
- local msg="$( printf "$msg_member_of_groups" )"
+ local _member_groups="$1"
+ local prompt="$msg_member_of_groups"
+ local check_list= # Calculated below
local hline="$hline_alnum_space_tab_enter"
+ local group
#
- # Loop until the user provides taint-free/valid input
+ # Generate the checklist menu
#
- local retval all_groups checklist_groups="" _member_groups="$1"
- all_groups=$( pw groupshow -a | awk -F: '
- !/^[[:space:]]*(#|$)/ {
- printf "%s\n", $1
- }'
- )
- for grp in $all_groups; do
- checklist_groups="$checklist_groups $grp $grp"
- if echo "$_member_groups" | grep -q "\<$grp\>"; then
- checklist_groups="$checklist_groups on"
+ for group in $(
+ pw groupshow -a | awk -F: '!/^[[:space:]]*(#|$)/{print $1}'
+ ); do
+ # Format of a checklist menu entry is "tag item status"
+ # (setting both tag and item to the group name below).
+ if echo "$_member_groups" | grep -q "\<$group\>"; then
+ check_list="$check_list $group $group on"
else
- checklist_groups="$checklist_groups off"
+ check_list="$check_list $group $group off"
fi
done
+ #
+ # Loop until the user provides taint-free/valid input
+ #
local height width rows
while :; do
eval f_dialog_checklist_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
- $checklist_groups
+ $check_list
_member_groups=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
@@ -175,9 +177,9 @@ f_dialog_input_member_groups()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --checklist \"\$msg\" \
+ --checklist \"\$prompt\" \
$height $width $rows \
- $checklist_groups \
+ $check_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
# Return if user either pressed ESC or chose Cancel/No
@@ -186,7 +188,7 @@ f_dialog_input_member_groups()
#
# Validate each of the groups the user has entered
#
- local group all_groups_valid=1
+ local all_groups_valid=1
for group in $_member_groups; do
if ! f_quietly pw groupshow -n "$group"; then
f_show_msg "$msg_group_not_found" "$group"
@@ -272,24 +274,22 @@ f_dialog_input_name()
#
f_dialog_input_password()
{
+ local prompt1="$msg_password"
+ local prompt2="$msg_reenter_password"
local hline="$hline_alnum_punc_tab_enter"
- local msg rmsg
- msg=$( printf "$msg_password" )
local height1 width1
f_dialog_inputbox_size height1 width1 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt1" \
"" \
"$hline"
-
- rmsg=$( printf "$msg_reenter_password" )
local height2 width2
f_dialog_inputbox_size height2 width2 \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$rmsg" \
+ "$prompt2" \
"" \
"$hline"
@@ -305,7 +305,7 @@ f_dialog_input_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$msg" \
+ --passwordbox "$prompt1" \
$height1 $width1 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
@@ -319,7 +319,7 @@ f_dialog_input_password()
--ok-label "$msg_ok" \
--cancel-label "$msg_cancel" \
--insecure \
- --passwordbox "$rmsg" \
+ --passwordbox "$prompt2" \
$height2 $width2 \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
@@ -450,35 +450,34 @@ f_dialog_input_class()
#
f_dialog_input_change()
{
- local retval _input="$1"
- local msg="$msg_password_expires_on"
- local hline="$hline_num_arrows_tab_enter"
-
+ local prompt="$msg_password_expires_on"
local menu_list="
'1' '$msg_password_does_not_expire'
'2' '$msg_edit_date_time_with_a_calendar'
'3' '$msg_enter_number_of_days_into_the_future'
'4' '$msg_enter_value_manually'
" # END-QUOTE
+ local hline="$hline_num_arrows_tab_enter"
+ local retval _input="$1"
local mheight mwidth mrows
eval f_dialog_menu_size mheight mwidth mrows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\$msg\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
local cheight cwidth
f_dialog_calendar_size cheight cwidth \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt" \
"$hline"
local theight twidth
f_dialog_timebox_size theight twidth \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt" \
"$hline"
#
@@ -492,7 +491,7 @@ f_dialog_input_change()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --menu \"\$msg\" \
+ --menu \"\$prompt\" \
$mheight $mwidth $mrows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -522,7 +521,7 @@ f_dialog_input_change()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --calendar \"\$msg\" \
+ --calendar \"\$prompt\" \
$cheight $cwidth \
$_input_date \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -543,7 +542,7 @@ f_dialog_input_change()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --timebox \"\$msg\" \
+ --timebox \"\$prompt\" \
$theight $twidth \
$_input_time \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -592,6 +591,7 @@ f_dialog_input_change()
break ;;
4) # Enter value manually
+ local msg
msg=$( printf "$msg_number_of_seconds_since_epoch" \
"$( date -r 1 "+%c %Z" )" )
@@ -631,35 +631,34 @@ f_dialog_input_change()
#
f_dialog_input_expire()
{
- local retval _input="$1"
- local msg="$msg_account_expires_on"
- local hline="$hline_num_arrows_tab_enter"
-
+ local prompt="$msg_account_expires_on"
local menu_list="
'1' '$msg_account_does_not_expire'
'2' '$msg_edit_date_time_with_a_calendar'
'3' '$msg_enter_number_of_days_into_the_future'
'4' '$msg_enter_value_manually'
" # END-QUOTE
+ local hline="$hline_num_arrows_tab_enter"
+ local retval _input="$1"
local mheight mwidth mrows
eval f_dialog_menu_size mheight mwidth mrows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\$msg\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
local cheight cwidth
f_dialog_calendar_size cheight cwidth \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt" \
"$hline"
local theight twidth
f_dialog_timebox_size theight twidth \
"$DIALOG_TITLE" \
"$DIALOG_BACKTITLE" \
- "$msg" \
+ "$prompt" \
"$hline"
#
@@ -673,7 +672,7 @@ f_dialog_input_expire()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --menu \"\$msg\" \
+ --menu \"\$prompt\" \
$mheight $mwidth $mrows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -703,7 +702,7 @@ f_dialog_input_expire()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --calendar \"\$msg\" \
+ --calendar \"\$prompt\" \
$cheight $cwidth \
$_input_date \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -724,7 +723,7 @@ f_dialog_input_expire()
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
- --timebox \"\$msg\" \
+ --timebox \"\$prompt\" \
$theight $twidth \
$_input_time \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
@@ -773,6 +772,7 @@ f_dialog_input_expire()
break ;;
4) # Enter value manually
+ local msg
msg=$( printf "$msg_number_of_seconds_since_epoch" \
"$( date -r 1 "+%c %Z" )" )
@@ -959,20 +959,23 @@ f_dialog_input_dotfiles_create()
#
f_dialog_input_shell()
{
- local shells shell_list _input="$1"
- local hline="$hline_arrows_space_tab_enter"
+ local _input="$1"
local prompt="$msg_select_login_shell"
+ local radio_list= # Calculated below
+ local hline="$hline_arrows_space_tab_enter"
- shells=$( awk '!/^[[:space:]]*(#|$)/{print}' "$ETC_SHELLS" )
- shell_list=$(
- for shell in $shells; do
- if [ "$shell" = "$_input" ]; then
- echo "'$shell' '' 'on'"
- else
- echo "'$shell' '' 'off'"
- fi
- done
- )
+ #
+ # Generate the radiolist of shells
+ #
+ local shell
+ for shell in $( awk '!/^[[:space:]]*(#|$)/{print}' "$ETC_SHELLS" ); do
+ # Format of a radiolist menu entry is "tag item status"
+ if [ "$shell" = "$_input" ]; then
+ radio_list="$radio_list '$shell' '' 'on'"
+ else
+ radio_list="$radio_list '$shell' '' 'off'"
+ fi
+ done
local height width rows
eval f_dialog_radiolist_size height width rows \
@@ -980,7 +983,7 @@ f_dialog_input_shell()
\"\$DIALOG_BACKTITLE\" \
\"\$prompt\" \
\"\$hline\" \
- $shell_list
+ $radio_list
_input=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
@@ -990,7 +993,7 @@ f_dialog_input_shell()
--cancel-label \"\$msg_cancel\" \
--radiolist \"\$prompt\" \
$height $width $rows \
- $shell_list \
+ $radio_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
) || return $?
# Return if user either pressed ESC or chose Cancel/No
diff --git a/usr.sbin/bsdconfig/usermgmt/usermgmt b/usr.sbin/bsdconfig/usermgmt/usermgmt
index 880985f..96f7e6f 100755
--- a/usr.sbin/bsdconfig/usermgmt/usermgmt
+++ b/usr.sbin/bsdconfig/usermgmt/usermgmt
@@ -51,11 +51,8 @@ ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" )
#
dialog_menu_main()
{
- local menu_list
- local hline="$hline_arrows_tab_enter"
- local defaultitem= # Calculated below
-
- menu_list="
+ local prompt=
+ local menu_list="
'X' '$msg_exit'
'1' '$msg_add_login'
'2' '$msg_edit_login'
@@ -65,12 +62,14 @@ dialog_menu_main()
'5' '$msg_edit_group'
'6' '$msg_delete_group'
" # END-QUOTE
+ local defaultitem= # Calculated below
+ local hline="$hline_arrows_tab_enter"
local height width rows
eval f_dialog_menu_size height width rows \
\"\$DIALOG_TITLE\" \
\"\$DIALOG_BACKTITLE\" \
- \"\" \
+ \"\$prompt\" \
\"\$hline\" \
$menu_list
@@ -91,7 +90,7 @@ dialog_menu_main()
--help-label \"\$msg_help\" \
${USE_XDIALOG:+--help \"\"} \
--default-item \"\$defaultitem\" \
- --menu \"\" \
+ --menu \"\$prompt\" \
$height $width $rows \
$menu_list \
2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
OpenPOWER on IntegriCloud