summaryrefslogtreecommitdiffstats
path: root/usr.sbin/bsdconfig/usermgmt
diff options
context:
space:
mode:
authordteske <dteske@FreeBSD.org>2012-09-20 23:44:13 +0000
committerdteske <dteske@FreeBSD.org>2012-09-20 23:44:13 +0000
commitf628c47944e7370c8d8c16cdcc6f98871a48be02 (patch)
tree6eb395555fa780676e51155e913c807210bdc403 /usr.sbin/bsdconfig/usermgmt
parent3a2b0e2811fa295dd198978ef2dcb53b37c2570d (diff)
downloadFreeBSD-src-f628c47944e7370c8d8c16cdcc6f98871a48be02.zip
FreeBSD-src-f628c47944e7370c8d8c16cdcc6f98871a48be02.tar.gz
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)
Diffstat (limited to 'usr.sbin/bsdconfig/usermgmt')
-rwxr-xr-xusr.sbin/bsdconfig/usermgmt/groupinput6
-rw-r--r--usr.sbin/bsdconfig/usermgmt/share/group_input.subr57
-rw-r--r--usr.sbin/bsdconfig/usermgmt/share/user_input.subr147
-rwxr-xr-xusr.sbin/bsdconfig/usermgmt/userinput7
-rwxr-xr-xusr.sbin/bsdconfig/usermgmt/usermgmt9
5 files changed, 162 insertions, 64 deletions
diff --git a/usr.sbin/bsdconfig/usermgmt/groupinput b/usr.sbin/bsdconfig/usermgmt/groupinput
index e1df614..2991d33 100755
--- a/usr.sbin/bsdconfig/usermgmt/groupinput
+++ b/usr.sbin/bsdconfig/usermgmt/groupinput
@@ -228,7 +228,7 @@ while :; do
\"\$hline\" \
$menu_items )
- eval $DIALOG \
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -236,9 +236,11 @@ while :; do
--cancel-label \"\$msg_cancel\" \
--menu \"\$menu_text\" $size \
$menu_items \
- 2> $DIALOG_TMPDIR/dialog.menu.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
mtag=$( f_dialog_menutag )
f_dprintf "retval=$retval mtag=[$mtag]"
diff --git a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
index 0c61696..e3d59d0 100644
--- a/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
+++ b/usr.sbin/bsdconfig/usermgmt/share/group_input.subr
@@ -84,14 +84,19 @@ f_dialog_menu_group_list()
\"\$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
}
# f_dialog_input_group_name [$group_name]
@@ -121,7 +126,8 @@ f_dialog_input_group_name()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -129,9 +135,11 @@ f_dialog_input_group_name()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -204,7 +212,8 @@ f_dialog_input_group_password()
#
local retval _password1 _password2
while :; do
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -212,15 +221,17 @@ f_dialog_input_group_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\" \
@@ -228,9 +239,11 @@ f_dialog_input_group_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
@@ -281,7 +294,8 @@ f_dialog_input_group_gid()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -289,9 +303,11 @@ f_dialog_input_group_gid()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -327,6 +343,7 @@ f_dialog_input_group_members()
'2' '$msg_enter_group_members_manually'
" # END-QUOTE
+ local dialog_menu
while :; do
msg="$msg_group_members:"
menu_size=$( eval f_dialog_menu_size \
@@ -335,7 +352,7 @@ f_dialog_input_group_members()
\"\$msg\" \
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -343,8 +360,10 @@ f_dialog_input_group_members()
--cancel-label \"\$msg_cancel\" \
--menu \"\$msg\" $menu_size \
$menu_list \
- 2> $DIALOG_TMPDIR/dialog.menu.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
menu_choice=$( f_dialog_menutag )
f_dprintf "retval=$retval menu_choice=[$menu_choice]"
@@ -373,7 +392,8 @@ f_dialog_input_group_members()
\"\" \
\"\$hline\" \
$checklist_users )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--separate-output \
@@ -382,8 +402,10 @@ f_dialog_input_group_members()
--cancel-label \"\$msg_cancel\" \
--checklist \"\$msg\" $size \
$checklist_users \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_group_members=$( f_dialog_inputstr | tr '\n' ' ' |
sed -e 's/[[:space:]]\{1,\}/,/g;s/^,//;s/,$//' )
@@ -405,7 +427,8 @@ f_dialog_input_group_members()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -413,9 +436,11 @@ f_dialog_input_group_members()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_group_members=$( f_dialog_inputstr )
# Return to previous menu if user has either
diff --git a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
index d27b9be..8b356b6 100644
--- a/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
+++ b/usr.sbin/bsdconfig/usermgmt/share/user_input.subr
@@ -109,14 +109,19 @@ f_dialog_menu_user_list()
\"\$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
}
# f_dialog_input_member_groups [$member_groups]
@@ -155,7 +160,8 @@ f_dialog_input_member_groups()
\"\" \
\"\$hline\" \
$checklist_groups )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--separate-output \
@@ -164,9 +170,11 @@ f_dialog_input_member_groups()
--cancel-label \"\$msg_cancel\" \
--checklist \"\$msg\" $size \
$checklist_groups \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_member_groups=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -223,7 +231,8 @@ f_dialog_input_name()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -231,9 +240,11 @@ f_dialog_input_name()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -306,7 +317,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\" \
@@ -314,15 +326,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\" \
@@ -330,9 +344,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
@@ -384,7 +400,8 @@ f_dialog_input_gecos()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -392,9 +409,11 @@ f_dialog_input_gecos()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -427,7 +446,8 @@ f_dialog_input_uid()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -435,9 +455,11 @@ f_dialog_input_uid()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -470,7 +492,8 @@ f_dialog_input_gid()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -478,9 +501,11 @@ f_dialog_input_gid()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -513,7 +538,8 @@ f_dialog_input_class()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -521,9 +547,11 @@ f_dialog_input_class()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -569,7 +597,8 @@ f_dialog_input_change()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -577,8 +606,10 @@ f_dialog_input_change()
--cancel-label \"\$msg_cancel\" \
--menu \"\$msg\" $menu_size \
$menu_list \
- 2> $DIALOG_TMPDIR/dialog.menu.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
date_type=$( f_dialog_menutag )
f_dprintf "retval=$retval date_type=[$date_type]"
@@ -602,7 +633,8 @@ f_dialog_input_change()
"$DIALOG_BACKTITLE" \
"$msg" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -610,8 +642,10 @@ f_dialog_input_change()
--cancel-label \"\$msg_cancel\" \
--calendar \"\$msg\" $calendar_size \
$_input_date \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_date=$( f_dialog_inputstr )
f_dprintf "retval=$retval ret_date=[$ret_date]"
@@ -626,7 +660,8 @@ f_dialog_input_change()
"$DIALOG_BACKTITLE" \
"$msg" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -634,8 +669,10 @@ f_dialog_input_change()
--cancel-label \"\$msg_cancel\" \
--timebox \"\$msg\" $timebox_size \
$_input_time \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_time=$( f_dialog_inputstr )
f_dprintf "retval=$retval ret_time=[$ret_time]"
@@ -666,7 +703,8 @@ f_dialog_input_change()
"$ret_days" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -674,8 +712,10 @@ f_dialog_input_change()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$ret_days\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_days=$( f_dialog_inputstr )
# Return to menu if either ESC or Cancel/No
@@ -707,7 +747,8 @@ f_dialog_input_change()
"$msg" \
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -715,9 +756,11 @@ f_dialog_input_change()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_secs=$( f_dialog_inputstr )
# Return to menu if either ESC or Cancel/No
@@ -779,7 +822,8 @@ f_dialog_input_expire()
\"\$hline\" \
$menu_list )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -787,8 +831,10 @@ f_dialog_input_expire()
--cancel-label \"\$msg_cancel\" \
--menu \"\$msg\" $menu_size \
$menu_list \
- 2> $DIALOG_TMPDIR/dialog.menu.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
date_type=$( f_dialog_menutag )
f_dprintf "retval=$retval date_type=[$date_type]"
@@ -812,7 +858,8 @@ f_dialog_input_expire()
"$DIALOG_BACKTITLE" \
"$msg" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -820,8 +867,10 @@ f_dialog_input_expire()
--cancel-label \"\$msg_cancel\" \
--calendar \"\$msg\" $calendar_size \
$_input_date \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_date=$( f_dialog_inputstr )
f_dprintf "retval=$retval ret_date=[$ret_date]"
@@ -836,7 +885,7 @@ f_dialog_input_expire()
"$DIALOG_BACKTITLE" \
"$msg" \
"$hline" )
- eval $DIALOG \
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -844,8 +893,10 @@ f_dialog_input_expire()
--cancel-label \"\$msg_cancel\" \
--timebox \"\$msg\" $timebox_size \
$_input_time \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_time=$( f_dialog_inputstr )
f_dprintf "retval=$retval ret_time=[$ret_time]"
@@ -876,7 +927,8 @@ f_dialog_input_expire()
"$ret_days" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -884,8 +936,10 @@ f_dialog_input_expire()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$ret_days\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_days=$( f_dialog_inputstr )
# Return to menu if either ESC or Cancel/No
@@ -917,7 +971,8 @@ f_dialog_input_expire()
"$msg" \
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -925,9 +980,11 @@ f_dialog_input_expire()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
ret_secs=$( f_dialog_inputstr )
# Return to menu if either ESC or Cancel/No
@@ -976,7 +1033,8 @@ f_dialog_input_home_dir()
"$_input" \
"$hline" )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -984,9 +1042,11 @@ f_dialog_input_home_dir()
--cancel-label \"\$msg_cancel\" \
--inputbox \"\$msg\" $size \
\"\$_input\" \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
@@ -1153,7 +1213,8 @@ f_dialog_input_shell()
\"\$hline\" \
$shell_list )
- eval $DIALOG \
+ local dialog_inputbox
+ dialog_inputbox=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -1161,9 +1222,11 @@ f_dialog_input_shell()
--cancel-label \"\$msg_cancel\" \
--radiolist \"\$prompt\" $size \
$shell_list \
- 2> $DIALOG_TMPDIR/dialog.inputbox.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_INPUTBOX_$$ "$dialog_inputbox"
_input=$( f_dialog_inputstr )
# Return if user has either pressed ESC or chosen Cancel/No
diff --git a/usr.sbin/bsdconfig/usermgmt/userinput b/usr.sbin/bsdconfig/usermgmt/userinput
index 7cabfdc..aca8aed 100755
--- a/usr.sbin/bsdconfig/usermgmt/userinput
+++ b/usr.sbin/bsdconfig/usermgmt/userinput
@@ -391,7 +391,8 @@ while :; do
\"\$hline\" \
$menu_items )
- eval $DIALOG \
+ local dialog_menu
+ dialog_menu=$( eval $DIALOG \
--title \"\$DIALOG_TITLE\" \
--backtitle \"\$DIALOG_BACKTITLE\" \
--hline \"\$hline\" \
@@ -399,9 +400,11 @@ while :; do
--cancel-label \"\$msg_cancel\" \
--menu \"\$menu_text\" $size \
$menu_items \
- 2> $DIALOG_TMPDIR/dialog.menu.$$
+ 2>&1 >&$DIALOG_TERMINAL_PASSTHRU_FD
+ )
retval=$?
+ setvar DIALOG_MENU_$$ "$dialog_menu"
mtag=$( f_dialog_menutag )
f_dprintf "retval=$retval mtag=[$mtag]"
diff --git a/usr.sbin/bsdconfig/usermgmt/usermgmt b/usr.sbin/bsdconfig/usermgmt/usermgmt
index b4905b3..0bfb0c0 100755
--- a/usr.sbin/bsdconfig/usermgmt/usermgmt
+++ b/usr.sbin/bsdconfig/usermgmt/usermgmt
@@ -69,14 +69,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
OpenPOWER on IntegriCloud