svn commit: r240768 - in head/usr.sbin/bsdconfig: . console mouse
networking networking/share password/share security share
startup startup/share timezone usermgmt usermgmt/share
Devin Teske
dteske at FreeBSD.org
Thu Sep 20 23:44:15 UTC 2012
Author: dteske
Date: Thu Sep 20 23:44:13 2012
New Revision: 240768
URL: http://svn.freebsd.org/changeset/base/240768
Log:
Change all invocations of dialog(1) to no-longer require temporary files.
This allows bsdconfig to -- like bsdinstall -- operate from read-only media.
Reviewed by: adrian (co-mentor)
Approved by: adrian (co-mentor)
Modified:
head/usr.sbin/bsdconfig/bsdconfig
head/usr.sbin/bsdconfig/console/console
head/usr.sbin/bsdconfig/console/font
head/usr.sbin/bsdconfig/console/keymap
head/usr.sbin/bsdconfig/console/repeat
head/usr.sbin/bsdconfig/console/saver
head/usr.sbin/bsdconfig/console/screenmap
head/usr.sbin/bsdconfig/console/ttys
head/usr.sbin/bsdconfig/mouse/flags
head/usr.sbin/bsdconfig/mouse/mouse
head/usr.sbin/bsdconfig/mouse/port
head/usr.sbin/bsdconfig/mouse/type
head/usr.sbin/bsdconfig/networking/networking
head/usr.sbin/bsdconfig/networking/share/device.subr
head/usr.sbin/bsdconfig/networking/share/hostname.subr
head/usr.sbin/bsdconfig/networking/share/ipaddr.subr
head/usr.sbin/bsdconfig/networking/share/media.subr
head/usr.sbin/bsdconfig/networking/share/netmask.subr
head/usr.sbin/bsdconfig/networking/share/resolv.subr
head/usr.sbin/bsdconfig/networking/share/routing.subr
head/usr.sbin/bsdconfig/password/share/password.subr
head/usr.sbin/bsdconfig/security/kern_securelevel
head/usr.sbin/bsdconfig/security/security
head/usr.sbin/bsdconfig/share/dialog.subr
head/usr.sbin/bsdconfig/share/mustberoot.subr
head/usr.sbin/bsdconfig/startup/misc
head/usr.sbin/bsdconfig/startup/rcadd
head/usr.sbin/bsdconfig/startup/rcconf
head/usr.sbin/bsdconfig/startup/rcdelete
head/usr.sbin/bsdconfig/startup/rcvar
head/usr.sbin/bsdconfig/startup/share/rcconf.subr
head/usr.sbin/bsdconfig/startup/share/rcedit.subr
head/usr.sbin/bsdconfig/startup/startup
head/usr.sbin/bsdconfig/timezone/timezone
head/usr.sbin/bsdconfig/usermgmt/groupinput
head/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
head/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
head/usr.sbin/bsdconfig/usermgmt/userinput
head/usr.sbin/bsdconfig/usermgmt/usermgmt
Modified: head/usr.sbin/bsdconfig/bsdconfig
==============================================================================
--- head/usr.sbin/bsdconfig/bsdconfig Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/bsdconfig Thu Sep 20 23:44:13 2012 (r240768)
@@ -177,7 +177,8 @@ dialog_menu_main()
\"\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear \
--title \"\$title\" \
--backtitle \"\$btitle\" \
@@ -185,7 +186,11 @@ dialog_menu_main()
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_exit_bsdconfig\" \
--menu \"\$prompt\" $size $menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/console
==============================================================================
--- head/usr.sbin/bsdconfig/console/console Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/console Thu Sep 20 23:44:13 2012 (r240768)
@@ -68,7 +68,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -76,7 +77,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/font
==============================================================================
--- head/usr.sbin/bsdconfig/console/font Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/font Thu Sep 20 23:44:13 2012 (r240768)
@@ -76,7 +76,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -84,7 +85,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/keymap
==============================================================================
--- head/usr.sbin/bsdconfig/console/keymap Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/keymap Thu Sep 20 23:44:13 2012 (r240768)
@@ -116,7 +116,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -124,7 +125,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/repeat
==============================================================================
--- head/usr.sbin/bsdconfig/console/repeat Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/repeat Thu Sep 20 23:44:13 2012 (r240768)
@@ -66,7 +66,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -74,7 +75,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/saver
==============================================================================
--- head/usr.sbin/bsdconfig/console/saver Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/saver Thu Sep 20 23:44:13 2012 (r240768)
@@ -76,7 +76,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -84,7 +85,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
@@ -174,7 +179,7 @@ while :; do
"$prompt" \
"$blanktime" \
"$hline" )
- $DIALOG \
+ dialog_inputbox=$( $DIALOG \
--title "$title" \
--backtitle "$btitle" \
--hline "$hline" \
@@ -182,8 +187,10 @@ while :; do
--cancel-label "$msg_cancel" \
--inputbox "$prompt" $size \
"$blanktime" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
blanktime=$( f_dialog_inputstr )
[ $retval -eq $SUCCESS ] &&
f_sysrc_set blanktime "$blanktime"
Modified: head/usr.sbin/bsdconfig/console/screenmap
==============================================================================
--- head/usr.sbin/bsdconfig/console/screenmap Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/screenmap Thu Sep 20 23:44:13 2012 (r240768)
@@ -68,7 +68,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -76,7 +77,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/console/ttys
==============================================================================
--- head/usr.sbin/bsdconfig/console/ttys Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/console/ttys Thu Sep 20 23:44:13 2012 (r240768)
@@ -82,7 +82,8 @@ dialog_menu_main()
\"\$hline\" \
$TTY_MENU_LIST )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -90,7 +91,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$TTY_MENU_LIST \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
# ttys_set_type $consterm
Modified: head/usr.sbin/bsdconfig/mouse/flags
==============================================================================
--- head/usr.sbin/bsdconfig/mouse/flags Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/mouse/flags Thu Sep 20 23:44:13 2012 (r240768)
@@ -90,7 +90,7 @@ size=$( f_dialog_inputbox_size \
"$prompt" \
"$flags" \
"$hline" )
-eval $DIALOG \
+dialog_inputbox=$( eval $DIALOG \
--title \"\$title\" \
--backtitle \"\$btitle\" \
--hline \"\$hline\" \
@@ -98,8 +98,10 @@ eval $DIALOG \
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$prompt\" $size \
\"\$flags\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+)
retval=$?
+setvar MENU_INPUTBOX_$$ "$dialog_inputbox"
flags=$( f_dialog_inputstr )
[ $retval -eq $SUCCESS ] || f_die
Modified: head/usr.sbin/bsdconfig/mouse/mouse
==============================================================================
--- head/usr.sbin/bsdconfig/mouse/mouse Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/mouse/mouse Thu Sep 20 23:44:13 2012 (r240768)
@@ -67,7 +67,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -75,7 +76,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/mouse/port
==============================================================================
--- head/usr.sbin/bsdconfig/mouse/port Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/mouse/port Thu Sep 20 23:44:13 2012 (r240768)
@@ -68,7 +68,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -76,7 +77,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/mouse/type
==============================================================================
--- head/usr.sbin/bsdconfig/mouse/type Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/mouse/type Thu Sep 20 23:44:13 2012 (r240768)
@@ -72,7 +72,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -80,7 +81,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/networking/networking
==============================================================================
--- head/usr.sbin/bsdconfig/networking/networking Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/networking Thu Sep 20 23:44:13 2012 (r240768)
@@ -65,14 +65,19 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
--ok-label \"\$msg_ok\" \
--cancel-label \"\$msg_cancel\" \
--menu \"\" $size $menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/networking/share/device.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/device.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/device.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -265,7 +265,8 @@ f_dialog_menu_netdev()
\"\$prompt\" \
\"\$hline\" \
$interfaces )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -273,7 +274,11 @@ f_dialog_menu_netdev()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$interfaces \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
# f_dialog_menu_netdev_edit $interface $ipaddr $netmask $options $dhcp
@@ -330,7 +335,8 @@ f_dialog_menu_netdev_edit()
\"\$prompt\" \
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -338,9 +344,11 @@ f_dialog_menu_netdev_edit()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
local tag="$( f_dialog_menutag )"
# Return if "Cancel" was chosen (-1) or ESC was pressed (255)
Modified: head/usr.sbin/bsdconfig/networking/share/hostname.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/hostname.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/hostname.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -146,7 +146,8 @@ f_dialog_input_hostname()
"$msg" \
"$hostname" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -154,9 +155,11 @@ f_dialog_input_hostname()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$hostname\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
hostname=$( f_dialog_inputstr )
[ $retval -eq $SUCCESS ] || return $retval
Modified: head/usr.sbin/bsdconfig/networking/share/ipaddr.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/ipaddr.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/ipaddr.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -167,7 +167,8 @@ f_dialog_input_ipaddr()
# Loop until the user provides taint-free input.
#
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -175,9 +176,11 @@ f_dialog_input_ipaddr()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_ipaddr\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
#
Modified: head/usr.sbin/bsdconfig/networking/share/media.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/media.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/media.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -123,7 +123,8 @@ f_dialog_input_options()
local msg="$( printf "$msg_please_enter_mediaopts" "$interface" )"
local hline="$hline_alnum_punc_tab_enter"
- $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( $DIALOG \
--title "$DIALOG_TITLE" \
--backtitle "$DIALOG_BACKTITLE" \
--hline "$hline" \
@@ -131,9 +132,11 @@ f_dialog_input_options()
--cancel-label "$msg_cancel" \
--inputbox "$msg" 9 70 \
"$options" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
local _options="$( f_dialog_inputstr )"
[ $retval -eq $SUCCESS ] && options="$_options"
@@ -205,7 +208,8 @@ f_dialog_menu_media_options()
local hline="$hline_arrows_tab_enter"
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -213,9 +217,11 @@ f_dialog_menu_media_options()
--cancel-label \"\$msg_cancel\" \
--menu \"\$msg\" 21 60 12 \
$supported_media \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
if [ $retval -eq $SUCCESS ]; then
local tag="$( f_dialog_menutag )"
options=$( eval f_dialog_menutag2item \"\$tag\" \
Modified: head/usr.sbin/bsdconfig/networking/share/netmask.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/netmask.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/netmask.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -177,7 +177,8 @@ f_dialog_input_netmask()
# Loop until the user provides taint-free input.
#
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -185,9 +186,11 @@ f_dialog_input_netmask()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_netmask\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
#
Modified: head/usr.sbin/bsdconfig/networking/share/resolv.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/resolv.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/resolv.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -342,7 +342,8 @@ f_dialog_input_nameserver()
#
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -350,9 +351,11 @@ f_dialog_input_nameserver()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$ns\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
new_ns=$( f_dialog_inputstr )
[ $retval -eq $SUCCESS ] || return $retval
@@ -476,7 +479,8 @@ f_dialog_menu_nameservers()
\"\$prompt\" \
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -484,9 +488,11 @@ f_dialog_menu_nameservers()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
local tag="$( f_dialog_menutag )" ns=""
# Return if "Cancel" was chosen (-1) or ESC was pressed (255)
Modified: head/usr.sbin/bsdconfig/networking/share/routing.subr
==============================================================================
--- head/usr.sbin/bsdconfig/networking/share/routing.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/networking/share/routing.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -110,7 +110,8 @@ f_dialog_input_defaultrouter()
# Loop until the user provides taint-free input.
#
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -118,9 +119,11 @@ f_dialog_input_defaultrouter()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$defaultrouter\" \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
local retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
defaultrouter=$( f_dialog_inputstr )
[ "$defaultrouter" ] || return $SUCCESS
Modified: head/usr.sbin/bsdconfig/password/share/password.subr
==============================================================================
--- head/usr.sbin/bsdconfig/password/share/password.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/password/share/password.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -68,7 +68,8 @@ f_dialog_input_password()
#
local retval _password1 _password2
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -76,15 +77,17 @@ f_dialog_input_password()
--cancel-label \"\$msg_cancel\" \
--insecure \
--passwordbox \"\$msg\" $size \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_password1=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
[ $retval -eq $SUCCESS ] || return $retval
- eval $DIALOG \
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -92,9 +95,11 @@ f_dialog_input_password()
--cancel-label \"\$msg_cancel\" \
--insecure \
--passwordbox \"\$rmsg\" $rsize \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_password2=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
Modified: head/usr.sbin/bsdconfig/security/kern_securelevel
==============================================================================
--- head/usr.sbin/bsdconfig/security/kern_securelevel Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/security/kern_securelevel Thu Sep 20 23:44:13 2012 (r240768)
@@ -67,7 +67,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -75,7 +76,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/security/security
==============================================================================
--- head/usr.sbin/bsdconfig/security/security Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/security/security Thu Sep 20 23:44:13 2012 (r240768)
@@ -86,7 +86,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -94,7 +95,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/share/dialog.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/dialog.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/share/dialog.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -38,9 +38,11 @@ f_include_lang $BSDCFG_LIBE/include/mess
############################################################ CONFIGURATION
#
-# Default directory to store dialog(1) temporary files
+# Default file descriptor to link to stdout for dialog(1) passthru allowing
+# execution of dialog from within a sub-shell (so-long as its standard output
+# is explicitly redirected to this file descriptor).
#
-: ${DIALOG_TMPDIR:="/tmp"}
+: ${DIALOG_TERMINAL_PASSTHRU_FD:=3}
############################################################ GLOBALS
@@ -1108,12 +1110,8 @@ f_dialog_noyes()
#
f_dialog_inputstr()
{
- local tmpfile="$DIALOG_TMPDIR/dialog.inputbox.$$"
-
- [ -f "$tmpfile" ] || return $FAILURE
-
# Skip warnings and trim leading/trailing whitespace from user input
- awk '
+ eval echo \"\$DIALOG_INPUTBOX_$$\" | awk '
BEGIN { found = 0 }
{
if ( ! found )
@@ -1126,9 +1124,8 @@ f_dialog_inputstr()
sub(/[[:space:]]*$/, "")
print
}
- ' "$tmpfile" 2> /dev/null
- f_quietly rm -f "$tmpfile"
-
+ '
+ setvar DIALOG_INPUTBOX_$$ "" # scrub memory in case data was sensitive
return $SUCCESS
}
@@ -1141,11 +1138,8 @@ f_dialog_inputstr()
#
f_dialog_menutag()
{
- local tmpfile="$DIALOG_TMPDIR/dialog.menu.$$"
-
- [ -f "$tmpfile" ] || return $FAILURE
-
- awk '
+ # Skip warnings
+ eval echo \"\$DIALOG_MENU_$$\" | awk '
BEGIN { found = 0 }
{
if ( found ) # ... just spew
@@ -1158,9 +1152,8 @@ f_dialog_menutag()
found = 1
print
}
- ' "$tmpfile" 2> /dev/null
- f_quietly rm -f "$tmpfile"
-
+ '
+ setvar DIALOG_MENU_$$ "" # scrub memory in case data was sensitive
return $SUCCESS
}
@@ -1320,6 +1313,11 @@ f_dialog_init()
DIALOG_SELF_INITIALIZE=
#
+ # Clone terminal stdout so we can redirect to it from within sub-shells
+ #
+ eval exec $DIALOG_TERMINAL_PASSTHRU_FD\>\&1
+
+ #
# Process stored command-line arguments
#
SECURE=$( set -- "$ARGV"
@@ -1422,22 +1420,4 @@ f_dialog_init()
fi
}
-############################################################ CLEAN-UP FUNCTIONS
-
-# f_clean_up
-#
-# Clean-up routines (run when script exits or is killed).
-#
-f_clean_up()
-{
- f_quietly rm -f "$DIALOG_TMPDIR"/dialog.*.$$
-}
-
-############################################################ MAIN
-
-#
-# Trap signals so we can recover gracefully
-#
-trap 'f_clean_up' EXIT
-
fi # ! $_DIALOG_SUBR
Modified: head/usr.sbin/bsdconfig/share/mustberoot.subr
==============================================================================
--- head/usr.sbin/bsdconfig/share/mustberoot.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/share/mustberoot.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -119,7 +119,8 @@ f_become_root_via_sudo()
[ $retval -eq 255 ] &&
f_die $retval "$password"
else
- $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( $DIALOG \
--title "$DIALOG_TITLE" \
--backtitle "$DIALOG_BACKTITLE" \
--hline "$hline" \
@@ -127,8 +128,10 @@ f_become_root_via_sudo()
--cancel-label "$msg_cancel" \
--insecure \
--passwordbox "$msg" $size \
- 2> "$DIALOG_TMPDIR/dialog.inputbox.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
password=$( f_dialog_inputstr )
fi
Modified: head/usr.sbin/bsdconfig/startup/misc
==============================================================================
--- head/usr.sbin/bsdconfig/startup/misc Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/misc Thu Sep 20 23:44:13 2012 (r240768)
@@ -230,7 +230,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -238,7 +239,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
# dialog_input_value [ $prompt [ $init ] ]
@@ -260,7 +265,8 @@ dialog_input_value()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -268,9 +274,11 @@ dialog_input_value()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$prompt\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
f_dialog_title_restore
Modified: head/usr.sbin/bsdconfig/startup/rcadd
==============================================================================
--- head/usr.sbin/bsdconfig/startup/rcadd Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/rcadd Thu Sep 20 23:44:13 2012 (r240768)
@@ -72,7 +72,8 @@ dialog_menu_main()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -80,7 +81,11 @@ dialog_menu_main()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/startup/rcconf
==============================================================================
--- head/usr.sbin/bsdconfig/startup/rcconf Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/rcconf Thu Sep 20 23:44:13 2012 (r240768)
@@ -168,7 +168,8 @@ dialog_menu_main()
\"\$hline\" \
$RCCONF_MENU_LIST )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -179,7 +180,11 @@ dialog_menu_main()
${SHOW_DESC:+--item-help} \
--menu \"\$prompt\" $size \
$RCCONF_MENU_LIST \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/startup/rcdelete
==============================================================================
--- head/usr.sbin/bsdconfig/startup/rcdelete Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/rcdelete Thu Sep 20 23:44:13 2012 (r240768)
@@ -175,7 +175,8 @@ dialog_menu_main()
\"\$hline\" \
$RCCONF_MENU_LIST )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -186,7 +187,11 @@ dialog_menu_main()
${SHOW_DESC:+--item-help} \
--menu \"\$prompt\" $size \
$RCCONF_MENU_LIST \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
# dialog_menu_delete $var1 [$var2 ...]
@@ -240,7 +245,8 @@ dialog_menu_delete()
local defaultno="defaultno"
[ "$USE_XDIALOG" ] && defaultno="default-no"
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -249,7 +255,11 @@ dialog_menu_delete()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/startup/rcvar
==============================================================================
--- head/usr.sbin/bsdconfig/startup/rcvar Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/rcvar Thu Sep 20 23:44:13 2012 (r240768)
@@ -132,7 +132,8 @@ dialog_menu_main()
\"\$hline\" \
$RCVAR_MENU_LIST )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--clear --title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -141,7 +142,11 @@ dialog_menu_main()
${SHOW_DESC:+--item-help} \
--menu \"\$prompt\" $size \
$RCVAR_MENU_LIST \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
+ local retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
+ return $retval
}
############################################################ MAIN
Modified: head/usr.sbin/bsdconfig/startup/share/rcconf.subr
==============================================================================
--- head/usr.sbin/bsdconfig/startup/share/rcconf.subr Thu Sep 20 23:00:01 2012 (r240767)
+++ head/usr.sbin/bsdconfig/startup/share/rcconf.subr Thu Sep 20 23:44:13 2012 (r240768)
@@ -282,7 +282,8 @@ f_dialog_input_view_details()
f_dialog_title "$msg_choose_view_details"
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -290,9 +291,11 @@ f_dialog_input_view_details()
--cancel-label \"\$msg_cancel\" \
--menu \"\$prompt\" $size \
$menu_list \
- 2> "$DIALOG_TMPDIR/dialog.menu.$$"
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-head
mailing list