From owner-svn-src-all@FreeBSD.ORG Wed Jan 15 07:49:24 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 54450AD4; Wed, 15 Jan 2014 07:49:24 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 3C55114B8; Wed, 15 Jan 2014 07:49:24 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id s0F7nOjM017418; Wed, 15 Jan 2014 07:49:24 GMT (envelope-from dteske@svn.freebsd.org) Received: (from dteske@localhost) by svn.freebsd.org (8.14.7/8.14.7/Submit) id s0F7nHVW017377; Wed, 15 Jan 2014 07:49:17 GMT (envelope-from dteske@svn.freebsd.org) Message-Id: <201401150749.s0F7nHVW017377@svn.freebsd.org> From: Devin Teske Date: Wed, 15 Jan 2014 07:49:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r260678 - in stable/10/usr.sbin/bsdconfig: console diskmgmt docsinstall dot includes mouse networking networking/share packages password security share share/media share/packages startu... X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Jan 2014 07:49:24 -0000 Author: dteske Date: Wed Jan 15 07:49:17 2014 New Revision: 260678 URL: http://svnweb.freebsd.org/changeset/base/260678 Log: MFC r259054: Performance and debugging enhancements: + Remove UNAME_P=$(...) from startup/misc -- already supplied by common.subr + Use f_getvar instead of $(eval echo \$$var) -- f_getvar is sub-shell free + Add `-e' and `-k var' options to f_eval_catch -- increasing use-cases + Use f_eval_catch to display errors on failure -- reducing duplicated code + Use f_eval_catch when we need output from a command -- improving debugging + Optimize f_isinter of strings.subr for performance -- now sub-shell free + Improve error checking on pidfiles -- using f_eval_catch and f_isinteger + Use $var_to_set arg of f_ifconfig_{inet,netmask} -- eliminate sub-shells + Use f_sprintf instead of $(printf ...) -- consolidate sub-shells + Use $var_to_set arg of f_route_get_default -- eliminate sub-shells + Add f_count to replace $(set -- ...;echo $#) -- eliminate sub-shells + Add f_count_ifs to replace $(IFS=x;set -- ...;echo $#) -- no sub-shells + Replace var="$var${var:+ }..." in loops with var="$var ..." with a follow- up var="${var# }" to trim leading whitespace -- optimize loops + Use $var_to_set arg of f_resolv_conf_nameservers -- eliminate sub-shells + Comments for the f_eval_catch function + Remove a duplicate `local ... desc ...' in f_device_get_all of device.subr + Use $var_to_set arg of f_device_capacity -- eliminate sub-shells + Whitespace fixes in f_dialog_init of dialog.subr + Optimize f_inet_atoi of media/tcpip.subr for performance -- sub-shell free + In several cases, send stderr to /dev/null -- clean up runtime execution + Change f_err of common.subr to go to program stderr not terminal stderr, allowing redirection of output from functions that use f_err + Disable debugging when using f_getvar to get variable argument to f_startup_rcconf_map_expand of startup/rcconf.subr + Use f_replace_all instead of $(echo ... | tr | sed) -- performance + Add a $var_to_set option to f_index_{file,menusel_{command,keyword}} of common.subr -- centralize sub-shells Modified: stable/10/usr.sbin/bsdconfig/console/console stable/10/usr.sbin/bsdconfig/console/font stable/10/usr.sbin/bsdconfig/console/keymap stable/10/usr.sbin/bsdconfig/console/repeat stable/10/usr.sbin/bsdconfig/console/saver stable/10/usr.sbin/bsdconfig/console/screenmap stable/10/usr.sbin/bsdconfig/console/ttys stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall stable/10/usr.sbin/bsdconfig/dot/dot stable/10/usr.sbin/bsdconfig/includes/includes stable/10/usr.sbin/bsdconfig/mouse/disable stable/10/usr.sbin/bsdconfig/mouse/enable stable/10/usr.sbin/bsdconfig/mouse/flags stable/10/usr.sbin/bsdconfig/mouse/mouse stable/10/usr.sbin/bsdconfig/mouse/port stable/10/usr.sbin/bsdconfig/mouse/type stable/10/usr.sbin/bsdconfig/networking/defaultrouter stable/10/usr.sbin/bsdconfig/networking/devices stable/10/usr.sbin/bsdconfig/networking/hostname stable/10/usr.sbin/bsdconfig/networking/nameservers stable/10/usr.sbin/bsdconfig/networking/networking stable/10/usr.sbin/bsdconfig/networking/share/device.subr stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr stable/10/usr.sbin/bsdconfig/networking/share/media.subr stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr stable/10/usr.sbin/bsdconfig/networking/share/routing.subr stable/10/usr.sbin/bsdconfig/networking/share/services.subr stable/10/usr.sbin/bsdconfig/packages/packages stable/10/usr.sbin/bsdconfig/password/password stable/10/usr.sbin/bsdconfig/security/kern_securelevel stable/10/usr.sbin/bsdconfig/security/security stable/10/usr.sbin/bsdconfig/share/common.subr stable/10/usr.sbin/bsdconfig/share/device.subr stable/10/usr.sbin/bsdconfig/share/dialog.subr stable/10/usr.sbin/bsdconfig/share/keymap.subr stable/10/usr.sbin/bsdconfig/share/media/cdrom.subr stable/10/usr.sbin/bsdconfig/share/media/common.subr stable/10/usr.sbin/bsdconfig/share/media/dos.subr stable/10/usr.sbin/bsdconfig/share/media/floppy.subr stable/10/usr.sbin/bsdconfig/share/media/ftp.subr stable/10/usr.sbin/bsdconfig/share/media/nfs.subr stable/10/usr.sbin/bsdconfig/share/media/tcpip.subr stable/10/usr.sbin/bsdconfig/share/media/ufs.subr stable/10/usr.sbin/bsdconfig/share/media/usb.subr stable/10/usr.sbin/bsdconfig/share/mustberoot.subr stable/10/usr.sbin/bsdconfig/share/packages/categories.subr stable/10/usr.sbin/bsdconfig/share/packages/index.subr stable/10/usr.sbin/bsdconfig/share/packages/packages.subr stable/10/usr.sbin/bsdconfig/share/strings.subr stable/10/usr.sbin/bsdconfig/share/sysrc.subr stable/10/usr.sbin/bsdconfig/startup/misc stable/10/usr.sbin/bsdconfig/startup/rcadd stable/10/usr.sbin/bsdconfig/startup/rcconf stable/10/usr.sbin/bsdconfig/startup/rcdelete stable/10/usr.sbin/bsdconfig/startup/rcedit stable/10/usr.sbin/bsdconfig/startup/rcvar stable/10/usr.sbin/bsdconfig/startup/share/rcconf.subr stable/10/usr.sbin/bsdconfig/startup/share/rcedit.subr stable/10/usr.sbin/bsdconfig/startup/share/rcvar.subr stable/10/usr.sbin/bsdconfig/startup/startup stable/10/usr.sbin/bsdconfig/timezone/share/zones.subr stable/10/usr.sbin/bsdconfig/timezone/timezone stable/10/usr.sbin/bsdconfig/ttys/ttys stable/10/usr.sbin/bsdconfig/usermgmt/groupadd stable/10/usr.sbin/bsdconfig/usermgmt/groupdel stable/10/usr.sbin/bsdconfig/usermgmt/groupedit stable/10/usr.sbin/bsdconfig/usermgmt/groupinput stable/10/usr.sbin/bsdconfig/usermgmt/share/group_input.subr stable/10/usr.sbin/bsdconfig/usermgmt/share/user_input.subr stable/10/usr.sbin/bsdconfig/usermgmt/useradd stable/10/usr.sbin/bsdconfig/usermgmt/userdel stable/10/usr.sbin/bsdconfig/usermgmt/useredit stable/10/usr.sbin/bsdconfig/usermgmt/userinput stable/10/usr.sbin/bsdconfig/usermgmt/usermgmt Directory Properties: stable/10/ (props changed) Modified: stable/10/usr.sbin/bsdconfig/console/console ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/console Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/console Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS Modified: stable/10/usr.sbin/bsdconfig/console/font ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/font Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/font Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -174,14 +174,16 @@ esac [ "$f8" -a "$f14" -a "$f16" ] || f_die 1 "$msg_unknown_font_selection" -f_sysrc_set font8x8 "$f8" || f_die -f_sysrc_set font8x14 "$f14" || f_die -f_sysrc_set font8x16 "$f16" || f_die +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x8 "%s"' "$f8" || f_die +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x14 "%s"' "$f14" || f_die +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set font8x16 "%s"' "$f16" || f_die if [ "$mc_start" ]; then - f_sysrc_set mousechar_start "$mc_start" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set mousechar_start "%s"' "$mc_start" || f_die else - f_sysrc_delete mousechar_start || f_die + f_eval_catch "$0" f_sysrc_delete \ + 'f_sysrc_delete mousechar_start' || f_die fi exit $SUCCESS Modified: stable/10/usr.sbin/bsdconfig/console/keymap ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/keymap Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/keymap Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION @@ -246,10 +246,8 @@ while :; do keymap_name= mtag="${mtag# }" # remove single leading-space if-present for name in $KEYMAP_NAMES; do - if [ "$( eval echo \"\$msg_$name\" )" = "$mtag" ]; then - keymap_name="$name" - break - fi + debug= f_getvar msg_$name msg + [ "$msg" = "$mtag" ] && keymap_name="$name" break done [ "$keymap_name" ] || continue @@ -319,7 +317,8 @@ while :; do esac if [ "$keymap_to_set" ]; then - f_sysrc_set keymap "$keymap_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set keymap "%s"' "$keymap_to_set" || f_die break else f_die 1 "$msg_unknown_keymap" Modified: stable/10/usr.sbin/bsdconfig/console/repeat ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/repeat Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/repeat Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -129,7 +129,8 @@ case "$mtag" in esac if [ "$repeat_rate_to_set" ]; then - f_sysrc_set keyrate "$repeat_rate_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set keyrate "%s"' "$repeat_rate_to_set" || f_die break else f_die 1 "$msg_unknown_repeat_rate" Modified: stable/10/usr.sbin/bsdconfig/console/saver ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/saver Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/saver Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -144,7 +144,8 @@ case "$mtag" in f_dialog_title "$msg_value_required" f_dialog_input blanktime "$msg_enter_timeout_period" \ "$( f_sysrc_get blanktime )" && - f_sysrc_set blanktime "$blanktime" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set blanktime "%s"' "$blanktime" || f_die f_dialog_title_restore exit $SUCCESS esac @@ -180,7 +181,8 @@ case "$mtag" in esac if [ "$saver_to_set" ]; then - f_sysrc_set saver "$saver_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set saver "%s"' "$saver_to_set" || f_die break else f_die 1 "$msg_unknown_saver" Modified: stable/10/usr.sbin/bsdconfig/console/screenmap ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/screenmap Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/screenmap Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -141,7 +141,8 @@ case "$mtag" in esac if [ "$scrnmap_to_set" ]; then - f_sysrc_set scrnmap "$scrnmap_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set scrnmap "%s"' "$scrnmap_to_set" || f_die break else f_die 1 "$msg_unknown_screenmap_selection" Modified: stable/10/usr.sbin/bsdconfig/console/ttys ============================================================================== --- stable/10/usr.sbin/bsdconfig/console/ttys Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/console/ttys Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="080.console" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION @@ -108,23 +108,28 @@ dialog_menu_main() # ttys_set_type() { + local funcname=ttys_set_type local consterm="$1" err # # Create new temporary file to write our ttys(5) update with new types. # - local tmpfile="$( mktemp -t "$pgm" )" - [ "$tmpfile" ] || return $FAILURE + local tmpfile + f_eval_catch -k tmpfile $funcname mktemp 'mktemp -t "%s"' "$pgm" || + return $FAILURE # # Fixup permissions and ownership (mktemp(1) creates the temporary file # with 0600 permissions -- change the permissions and ownership to # match ttys(5) before we write it out and mv(1) it into place). # - local mode="$( stat -f '%#Lp' "$ETC_TTYS" 2> /dev/null )" - local owner="$( stat -f '%u:%g' "$ETC_TTYS" 2> /dev/null )" - f_quietly chmod "${mode:-0644}" "$tmpfile" - f_quietly chown "${owner:-root:wheel}" "$tmpfile" + local mode owner + f_eval_catch -dk mode $funcname stat \ + 'stat -f "%%#Lp" "%s"' "$ETC_TTYS" || mode=0644 + f_eval_catch -dk owner $funcname stat \ + 'stat -f "%%u:%%g" "%s"' "$ETC_TTYS" || owner="root:wheel" + f_eval_catch -d $funcname chmod 'chmod "%s" "%s"' "$mode" "$tmpfile" + f_eval_catch -d $funcname chown 'chown "%s" "%s"' "$owner" "$tmpfile" # # Operate on ttys(5), replacing only the types of `ttyv*' and @@ -156,10 +161,8 @@ ttys_set_type() f_dialog_msgbox "$err" return $FAILURE fi - if ! err=$( mv -f "$tmpfile" "$ETC_TTYS" 2>&1 ); then - f_dialog_msgbox "$err" + f_eval_catch $funcname mv 'mv -f "%s" "%s"' "$tmpfile" "$ETC_TTYS" || return $FAILURE - fi return $SUCCESS } Modified: stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt ============================================================================== --- stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/diskmgmt/diskmgmt Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="050.diskmgmt" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION Modified: stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall ============================================================================== --- stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/docsinstall/docsinstall Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="020.docsinstall" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION Modified: stable/10/usr.sbin/bsdconfig/dot/dot ============================================================================== --- stable/10/usr.sbin/bsdconfig/dot/dot Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/dot/dot Wed Jan 15 07:49:17 2014 (r260678) @@ -41,8 +41,8 @@ BSDCFG_LIBE="/usr/libexec/bsdconfig" APP f_include_lang $BSDCFG_LIBE/include/messages.subr f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION Modified: stable/10/usr.sbin/bsdconfig/includes/includes ============================================================================== --- stable/10/usr.sbin/bsdconfig/includes/includes Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/includes/includes Wed Jan 15 07:49:17 2014 (r260678) @@ -41,8 +41,8 @@ BSDCFG_LIBE="/usr/libexec/bsdconfig" APP f_include_lang $BSDCFG_LIBE/include/messages.subr f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ GLOBALS Modified: stable/10/usr.sbin/bsdconfig/mouse/disable ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/disable Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/disable Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION @@ -73,12 +73,16 @@ f_mustberoot_init # # Stop the mouse daemon # -[ -r "$MOUSED_PIDFILE" ] && - f_quietly kill "$( cat "$MOUSED_PIDFILE" )" -f_sysrc_set moused_enable "NO" || f_die -f_sysrc_set moused_type "NO" || f_die -f_sysrc_delete moused_port || f_die -f_sysrc_delete moused_flags || f_die +if [ -r "$MOUSED_PIDFILE" ]; then + f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" && + f_isinteger "$pid" && + [ $pid -gt 0 ] && + f_eval_catch -d "$0" kill 'kill %s' $pid +fi +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable NO' || f_die +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_type NO' || f_die +f_eval_catch "$0" f_sysrc_delete 'f_sysrc_delete moused_port' || f_die +f_eval_catch "$0" f_sysrc_delete 'f_sysrc_delete moused_flags' || f_die # # Message box Modified: stable/10/usr.sbin/bsdconfig/mouse/enable ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/enable Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/enable Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION @@ -85,10 +85,15 @@ flags=$( f_sysrc_get moused_flags ) # Start the mouse daemon # f_dialog_info "$msg_trying_to_start_the_mouse_daemon" -[ -r "$MOUSED_PIDFILE" ] && - f_quietly kill "$( cat "$MOUSED_PIDFILE" 2> /dev/null )" -f_quietly vidcontrol -m on -f_quietly moused -t "$type" -p "$port" $flags +if [ -r "$MOUSED_PIDFILE" ]; then + f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" && + f_isinteger "$pid" && + [ $pid -gt 0 ] && + f_eval_catch -d "$0" kill 'kill %s' $pid +fi +f_eval_catch -d "$0" vidcontrol 'vidcontrol -m on' +f_eval_catch -d "$0" moused \ + 'moused -t "%s" -p "%s" %s' "$type" "$port" "$flags" # # Confirm with the user that the mouse is working @@ -101,14 +106,19 @@ f_dialog_title_restore # # Stop the mouse daemon # -f_quietly vidcontrol -m off +f_eval_catch -d "$0" vidcontrol 'vidcontrol -m off' if [ $retval -eq $DIALOG_OK ]; then - f_sysrc_set moused_enable "YES" || f_die - ln -fs /dev/sysmouse /dev/mouse || f_die # backwards compat + f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable YES' || f_die + f_eval_catch "$0" ln \ + 'ln -fs /dev/sysmouse /dev/mouse' || f_die # backwards compat else - [ -r "$MOUSED_PIDFILE" ] && - f_quietly kill "$( cat "$MOUSED_PIDFILE" )" - f_sysrc_set moused_enable "NO" || f_die + if [ -r "$MOUSED_PIDFILE" ]; then + f_eval_catch -dk pid "$0" cat 'cat "%s"' "$MOUSED_PIDFILE" && + f_isinteger "$pid" && + [ $pid -gt 0 ] && + f_eval_catch -d "$0" kill 'kill %s' $pid + fi + f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_enable NO' || f_die fi exit $SUCCESS Modified: stable/10/usr.sbin/bsdconfig/mouse/flags ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/flags Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/flags Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ CONFIGURATION @@ -86,7 +86,7 @@ f_dialog_title_restore # # Save the new value # -f_sysrc_set moused_flags "$flags" || f_die +f_eval_catch "$0" f_sysrc_set 'f_sysrc_set moused_flags "%s"' "$flags" || f_die exit $SUCCESS Modified: stable/10/usr.sbin/bsdconfig/mouse/mouse ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/mouse Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/mouse Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS Modified: stable/10/usr.sbin/bsdconfig/mouse/port ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/port Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/port Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -141,7 +141,8 @@ case "$mtag" in esac if [ "$moused_port_to_set" ]; then - f_sysrc_set moused_port "$moused_port_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set moused_port "%s"' "$moused_port_to_set" || f_die else f_die 1 "$msg_unknown_mouse_port_selection" fi Modified: stable/10/usr.sbin/bsdconfig/mouse/type ============================================================================== --- stable/10/usr.sbin/bsdconfig/mouse/type Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/mouse/type Wed Jan 15 07:49:17 2014 (r260678) @@ -38,8 +38,8 @@ f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="110.mouse" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS @@ -157,7 +157,8 @@ case "$mtag" in esac if [ "$moused_type_to_set" ]; then - f_sysrc_set moused_type "$moused_type_to_set" || f_die + f_eval_catch "$0" f_sysrc_set \ + 'f_sysrc_set moused_type "%s"' "$moused_type_to_set" || f_die else f_die 1 "$msg_unknown_mouse_protocol_selection" fi Modified: stable/10/usr.sbin/bsdconfig/networking/defaultrouter ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/defaultrouter Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/defaultrouter Wed Jan 15 07:49:17 2014 (r260678) @@ -28,6 +28,9 @@ # ############################################################ INCLUDES +# Prevent device.subr (included indirectly) from auto scanning on load +DEVICE_SELF_SCAN_ALL=NO + BSDCFG_SHARE="/usr/share/bsdconfig" . $BSDCFG_SHARE/common.subr || exit 1 f_dprintf "%s: loading includes..." "$0" @@ -38,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/routi BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ MAIN Modified: stable/10/usr.sbin/bsdconfig/networking/devices ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/devices Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/devices Wed Jan 15 07:49:17 2014 (r260678) @@ -49,8 +49,8 @@ f_include $BSDCFG_SHARE/networking/netma BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ MAIN @@ -143,8 +143,8 @@ while :; do # Fill in IP address/netmask from active settings if no # configuration could be extrapolated from rc.conf(5) # - [ "$_ipaddr" ] || _ipaddr=$( f_ifconfig_inet $interface ) - [ "$_netmask" ] || _netmask=$( f_ifconfig_netmask $interface ) + [ "$_ipaddr" ] || f_ifconfig_inet $interface _ipaddr + [ "$_netmask" ] || f_ifconfig_netmask $interface _netmask # Get the extra options (this always comes from rc.conf(5)) _options=$( f_ifconfig_options $interface ) Modified: stable/10/usr.sbin/bsdconfig/networking/hostname ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/hostname Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/hostname Wed Jan 15 07:49:17 2014 (r260678) @@ -41,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/hostn BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ MAIN Modified: stable/10/usr.sbin/bsdconfig/networking/nameservers ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/nameservers Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/nameservers Wed Jan 15 07:49:17 2014 (r260678) @@ -41,8 +41,8 @@ f_include $BSDCFG_SHARE/networking/resol BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ MAIN Modified: stable/10/usr.sbin/bsdconfig/networking/networking ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/networking Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/networking Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/mustberoot.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ FUNCTIONS Modified: stable/10/usr.sbin/bsdconfig/networking/share/device.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/device.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/device.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -40,6 +40,7 @@ f_include $BSDCFG_SHARE/networking/media f_include $BSDCFG_SHARE/networking/netmask.subr f_include $BSDCFG_SHARE/networking/resolv.subr f_include $BSDCFG_SHARE/networking/routing.subr +f_include $BSDCFG_SHARE/strings.subr f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" @@ -163,6 +164,7 @@ f_dialog_menu_netdev() # f_dialog_menu_netdev_edit() { + local funcname=f_dialog_menu_netdev_edit local interface="$1" ipaddr="$2" netmask="$3" options="$4" dhcp="$5" local prompt menu_list height width rows @@ -175,7 +177,7 @@ f_dialog_menu_netdev_edit() dhcp_orig="$5" local hline="$hline_arrows_tab_enter" - prompt=$( printf "$msg_network_configuration" "$interface" ) + f_sprintf prompt "$msg_network_configuration" "$interface" # # Loop forever until the user has finished configuring the different @@ -254,8 +256,9 @@ f_dialog_menu_netdev_edit() # are made is changed parts of the system may hang. # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_dhcp_status" \ - "$interface" "$dhcp_status" )" + local setting + f_sprintf setting "$msg_current_dhcp_status" \ + "$interface" "$dhcp_status" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || continue fi @@ -269,7 +272,7 @@ f_dialog_menu_netdev_edit() trap - SIGINT ( # Execute within sub-shell to allow/catch Ctrl-C trap 'exit $FAILURE' SIGINT - msg=$( printf "$msg_scanning_for_dhcp" "$interface" ) + f_sprintf msg "$msg_scanning_for_dhcp" "$interface" if [ "$USE_XDIALOG" ]; then ( f_quietly ifconfig "$interface" delete @@ -319,14 +322,16 @@ f_dialog_menu_netdev_edit() local value= if [ "$dhcp" ]; then - f_sysrc_delete defaultrouter + f_eval_catch $funcname f_sysrc_delete \ + 'f_sysrc_delete defaultrouter' value=DHCP else value="inet $ipaddr netmask $netmask" value="$value${options:+ }$options" fi - f_sysrc_set ifconfig_$interface "$value" + f_eval_catch $funcname f_sysrc_set \ + 'f_sysrc_set "ifconfig_%s" "%s"' "$interface" "$value" fi # @@ -337,10 +342,12 @@ f_dialog_menu_netdev_edit() then f_show_info "$msg_bring_interface_up" "$interface" - local dr="$( f_sysrc_get defaultrouter )" err + local dr="$( f_sysrc_get defaultrouter )" if [ "$dr" = "NO" -o ! "$dr" ]; then - dr=$( f_route_get_default ) - [ "$dr" ] && f_sysrc_set defaultrouter "$dr" + f_route_get_default dr + [ "$dr" ] && f_eval_catch \ + $funcname f_sysrc_set \ + 'f_sysrc_set defaultrouter "%s"' "$dr" fi # # Make a backup of resolv.conf(5) before using @@ -351,16 +358,13 @@ f_dialog_menu_netdev_edit() # resolv.conf(5) by-default upon termination). # f_quietly cp -fp "$RESOLV_CONF" "$RESOLV_CONF.$$" - err=$( ifconfig $interface inet $ipaddr \ - netmask $netmask $options 2>&1 ) - if [ $? -eq $SUCCESS ]; then - if [ "$dr" -a "$dr" != "NO" ]; then - err=$( route add default "$dr" 2>&1 ) - [ $? -eq $SUCCESS ] || \ - dialog_msgbox "$err" - fi - else - dialog_msgbox "$err" + if f_eval_catch $funcname ifconfig \ + 'ifconfig "%s" inet "%s" netmask "%s" %s' \ + "$interface" "$ipaddr" "$netmask" "$options" + then + [ "$dr" -a "$dr" != "NO" ] && + f_eval_catch $funcname route \ + 'route add default "%s"' "$dr" fi if cmp -s "$RESOLV_CONF" "$RESOLV_CONF.$$"; then f_quietly rm -f "$RESOLV_CONF.$$" Modified: stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/hostname.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -95,6 +95,7 @@ f_dialog_validate_hostname() # f_dialog_input_hostname() { + local funcname=f_dialog_input_hostname local hostname="$( f_sysrc_get 'hostname:-$(hostname)' )" local hostname_orig="$hostname" # for change-tracking @@ -120,7 +121,8 @@ f_dialog_input_hostname() # if [ "$hostname" != "$hostname_orig" ]; then f_dialog_info "$msg_saving_hostname" - f_sysrc_set hostname "$hostname" + f_eval_catch $funcname f_sysrc_set \ + 'f_sysrc_set hostname "%s"' "$hostname" fi # Modified: stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/ipaddr.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -144,13 +144,14 @@ f_dialog_input_ipaddr() # system may hang (if any NFS mounts are using that interface). # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_ipaddr" \ - "$interface" "$_ipaddr" )" + local setting + f_sprintf setting "$msg_current_ipaddr" "$interface" "$_ipaddr" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || return $DIALOG_CANCEL fi - local msg="$( printf "$msg_please_enter_new_ip_addr" "$interface" )" + local msg + f_sprintf msg "$msg_please_enter_new_ip_addr" "$interface" # # Loop until the user provides taint-free input. Modified: stable/10/usr.sbin/bsdconfig/networking/share/media.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/media.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/media.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -115,13 +115,15 @@ f_dialog_input_options() # the system may hang (if any NFS mounts are using that interface). # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_options" \ - "$interface" "$options" )" + local setting + f_sprintf setting "$msg_current_options" \ + "$interface" "$options" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || return $DIALOG_CANCEL fi - local msg="$( printf "$msg_please_enter_mediaopts" "$interface" )" + local msg + f_sprintf msg "$msg_please_enter_mediaopts" "$interface" local hline="$hline_alnum_punc_tab_enter" local _options @@ -162,8 +164,9 @@ f_dialog_menu_media_options() # the system may hang (if any NFS mounts are using that interface). # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_options" \ - "$interface" "$_options" )" + local setting + f_sprintf setting "$msg_current_options" \ + "$interface" "$_options" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || return $DIALOG_CANCEL fi @@ -196,11 +199,11 @@ f_dialog_menu_media_options() local msg if [ "$USE_XDIALOG" ]; then - msg=$( printf "$xmsg_supported_media_options" \ - "$interface" "$interface" ) + f_sprintf msg "$xmsg_supported_media_options" \ + "$interface" "$interface" else - msg=$( printf "$msg_supported_media_options" \ - "$interface" "$interface" ) + f_sprintf msg "$msg_supported_media_options" \ + "$interface" "$interface" fi local hline="$hline_arrows_tab_enter" Modified: stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/netmask.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -94,8 +94,9 @@ f_dialog_input_netmask() # the system may hang (if any NFS mounts are using that interface). # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_subnet" \ - "$interface" "$_netmask" )" + local setting + f_sprintf setting "$msg_current_subnet" \ + "$interface" "$_netmask" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || return $DIALOG_CANCEL fi @@ -103,7 +104,8 @@ f_dialog_input_netmask() # # Loop until the user provides taint-free input. # - local msg="$( printf "$msg_please_enter_subnet_mask" "$interface" )" + local msg + f_sprintf msg "$msg_please_enter_subnet_mask" "$interface" while :; do # # Return error status if: Modified: stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/resolv.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -162,20 +162,23 @@ END { ' f_dialog_resolv_conf_update() { + local funcname=f_dialog_resolv_conf_update local hostname="$1" # # Extrapolate the desired domain search parameter for resolv.conf(5) # - local search ndots domain="${hostname#*.}" + local search nfields ndots domain="${hostname#*.}" if [ "$RESOLVER_SEARCH_DOMAINS_ALL" = "1" ]; then - search="" - ndots=$( IFS=.; set -- $domain; echo $(( $# - 1 )) ) + search= + IFS=. f_count_ifs nfields "$domain" + ndots=$(( $nfields - 1 )) while [ $ndots -ge ${RESOLVER_SEARCH_NDOTS:-1} ]; do - search="$search${search:+ }$domain" + search="$search $domain" domain="${domain#*.}" ndots=$(( $ndots - 1 )) done + search="${search# }" domain="${hostname#*.}" else search="$domain" @@ -194,8 +197,9 @@ f_dialog_resolv_conf_update() # Create a new temporary file to write our resolv.conf(5) # update with our new `domain' and `search' directives. # - local tmpfile="$( mktemp -t "$pgm" )" - [ "$tmpfile" ] || return $DIALOG_CANCEL + local tmpfile + f_eval_catch -dk tmpfile $funcname mktemp \ + 'mktemp -t "%s"' "$tmpfile" || return $DIALOG_CANCEL # # Fixup permissions and ownership (mktemp(1) creates the @@ -203,10 +207,16 @@ f_dialog_resolv_conf_update() # permissions and ownership to match resolv.conf(5) before # we write it out and mv(1) it into place). # - local mode="$( stat -f '%#Lp' "$RESOLV_CONF" 2> /dev/null )" - local owner="$( stat -f '%u:%g' "$RESOLV_CONF" 2> /dev/null )" - f_quietly chmod "${mode:-0644}" "$tmpfile" - f_quietly chown "${owner:-root:wheel}" "$tmpfile" + local mode owner + f_eval_catch -dk mode $funcname stat \ + 'stat -f "%%#Lp" "%s"' "$RESOLV_CONF" || mode=0644 + f_eval_catch -dk owner $funcname stat \ + 'stat -f "%%u:%%g" "%s"' "$RESOLV_CONF" || + owner="root:wheel" + f_eval_catch -d $funcname chmod \ + 'chmod "%s" "%s"' "$mode" "$tmpfile" + f_eval_catch -d $funcname chown \ + 'chown "%s" "%s"' "$owner" "$tmpfile" # # Operate on resolv.conf(5), replacing only the last @@ -237,7 +247,8 @@ f_dialog_resolv_conf_update() # echo "$new_contents" | tail -r > "$tmpfile" || return $DIALOG_CANCEL - f_quietly mv "$tmpfile" "$RESOLV_CONF" + f_eval_catch -d $funcname mv \ + 'mv "%s" "%s"' "$tmpfile" "$RESOLV_CONF" fi } @@ -288,6 +299,7 @@ END { if ( ! found ) exit 3 } ' f_dialog_input_nameserver() { + local funcname=f_dialog_input_nameserver local index="${1:-0}" old_ns="$2" new_ns local ns="$old_ns" @@ -344,17 +356,23 @@ f_dialog_input_nameserver() # # Create a new temporary file to write our new resolv.conf(5) # - local tmpfile="$( mktemp -t "$pgm" )" - [ "$tmpfile" ] || return $DIALOG_CANCEL + local tmpfile + f_eval_catch -dk tmpfile $funcname mktemp \ + 'mktemp -t "%s"' "$pgm" || return $DIALOG_CANCEL # # Quietly fixup permissions and ownership # local mode owner - mode=$( stat -f '%#Lp' "$RESOLV_CONF" 2> /dev/null ) - owner=$( stat -f '%u:%g' "$RESOLV_CONF" 2> /dev/null ) - f_quietly chmod "${mode:-0644}" "$tmpfile" - f_quietly chown "${owner:-root:wheel}" "$tmpfile" + f_eval_catch -dk mode $funcname stat \ + 'stat -f "%%#Lp" "%s"' "$RESOLV_CONF" || mode=0644 + f_eval_catch -dk owner $funcname stat \ + 'stat -f "%%u:%%g" "%s"' "$RESOLV_CONF" || + owner="root:wheel" + f_eval_catch -d $funcname chmod \ + 'chmod "%s" "%s"' "$mode" "$tmpfile" + f_eval_catch -d $funcname chown \ + 'chown "%s" "%s"' "$owner" "$tmpfile" # # Operate on resolv.conf(5) @@ -383,7 +401,8 @@ f_dialog_input_nameserver() # file into place. # echo "$new_contents" > "$tmpfile" || return $DIALOG_CANCEL - f_quietly mv "$tmpfile" "$RESOLV_CONF" + f_eval_catch -d $funcname mv \ + 'mv "%s" "%s"' "$tmpfile" "$RESOLV_CONF" fi } @@ -409,7 +428,8 @@ f_dialog_menu_nameservers() # # Re/Build list of nameservers # - local nameservers="$( f_resolv_conf_nameservers )" + local nameservers + f_resolv_conf_nameservers nameservers menu_list=$( index=1 Modified: stable/10/usr.sbin/bsdconfig/networking/share/routing.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/routing.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/routing.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -35,6 +35,7 @@ f_include $BSDCFG_SHARE/dialog.subr f_include $BSDCFG_SHARE/media/tcpip.subr f_include $BSDCFG_SHARE/networking/common.subr f_include $BSDCFG_SHARE/networking/ipaddr.subr +f_include $BSDCFG_SHARE/strings.subr f_include $BSDCFG_SHARE/sysrc.subr BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="120.networking" @@ -48,6 +49,8 @@ f_include_lang $BSDCFG_LIBE/$APP_DIR/inc # f_dialog_input_defaultrouter() { + local funcname=f_dialog_input_defaultrouter + # # Get the defaultrouter. When this is not configured, the default is # "NO", however we don't ever want to present this default to the user @@ -61,9 +64,7 @@ f_dialog_input_defaultrouter() local defaultrouter="$( f_sysrc_get 'defaultrouter:-NO' )" local defaultrouter_orig="$defaultrouter" # for change-tracking case "$defaultrouter" in - [Nn][Oo]) - defaultrouter=$( f_route_get_default ) - ;; + [Nn][Oo]) f_route_get_default defaultrouter ;; esac # @@ -72,8 +73,9 @@ f_dialog_input_defaultrouter() # mounted, the system will hang. # if f_nfs_mounted && ! f_jailed; then - local setting="$( printf "$msg_current_default_router" \ - "$defaultrouter" )" + local setting + f_sprintf setting "$msg_current_default_router" \ + "$defaultrouter" f_noyes "$msg_nfs_mounts_may_cause_hang" "$setting" || return $DIALOG_CANCEL fi @@ -101,27 +103,25 @@ f_dialog_input_defaultrouter() f_dialog_info "$msg_saving_default_router" # Save the default router/gateway - f_sysrc_set defaultrouter "$defaultrouter" + f_eval_catch $funcname f_sysrc_set \ + 'f_sysrc_set defaultrouter "%s"' "$defaultrouter" fi # # Only ask to apply setting if the current defaultrouter is different # than the stored configuration (in rc.conf(5)). # - if [ "$( f_route_get_default )" != "$defaultrouter" ]; then + local dr + f_route_get_default dr + if [ "$dr" != "$defaultrouter" ]; then f_dialog_clear - f_yesno "$msg_activate_default_router" \ - "$( f_route_get_default )" "$defaultrouter" + f_yesno "$msg_activate_default_router" "$dr" "$defaultrouter" if [ $? -eq $DIALOG_OK ]; then - local err - # Apply the default router/gateway - f_quietly route delete default - err=$( route add default "$defaultrouter" 2>&1 ) - if [ $? -ne $SUCCESS ]; then - f_dialog_msgbox "$err" + f_eval_catch -d $funcname route 'route delete default' + f_eval_catch $funcname route \ + 'route add default "%s"' "$defaultrouter" || return $DIALOG_CANCEL - fi fi fi } Modified: stable/10/usr.sbin/bsdconfig/networking/share/services.subr ============================================================================== --- stable/10/usr.sbin/bsdconfig/networking/share/services.subr Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/networking/share/services.subr Wed Jan 15 07:49:17 2014 (r260678) @@ -42,8 +42,9 @@ f_include $BSDCFG_SHARE/sysrc.subr # f_config_pcnfsd() { + local funcname=f_config_pcnfsd f_package_add "pcnfsd" || return $? - f_sysrc_set mountd_flags "-n" + f_eval_catch $funcname f_sysrc_set 'f_sysrc_set mountd_flags -n' return $SUCCESS } Modified: stable/10/usr.sbin/bsdconfig/packages/packages ============================================================================== --- stable/10/usr.sbin/bsdconfig/packages/packages Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/packages/packages Wed Jan 15 07:49:17 2014 (r260678) @@ -45,8 +45,8 @@ f_include $BSDCFG_SHARE/packages/package BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="030.packages" f_include_lang $BSDCFG_LIBE/$APP_DIR/include/messages.subr -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) -[ $? -eq $SUCCESS -a "$ipgm" ] && pgm="$ipgm" +f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ipgm && + pgm="${ipgm:-$pgm}" ############################################################ MAIN Modified: stable/10/usr.sbin/bsdconfig/password/password ============================================================================== --- stable/10/usr.sbin/bsdconfig/password/password Wed Jan 15 07:47:13 2014 (r260677) +++ stable/10/usr.sbin/bsdconfig/password/password Wed Jan 15 07:49:17 2014 (r260678) @@ -37,8 +37,8 @@ f_include $BSDCFG_SHARE/password/passwor BSDCFG_LIBE="/usr/libexec/bsdconfig" APP_DIR="040.password" -ipgm=$( f_index_menusel_keyword $BSDCFG_LIBE/$APP_DIR/INDEX "$pgm" ) *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***