diff options
Diffstat (limited to 'usr.sbin/bsdconfig/networking/share/routing.subr')
-rw-r--r-- | usr.sbin/bsdconfig/networking/share/routing.subr | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/usr.sbin/bsdconfig/networking/share/routing.subr b/usr.sbin/bsdconfig/networking/share/routing.subr index d0b8927..826ac6e 100644 --- a/usr.sbin/bsdconfig/networking/share/routing.subr +++ b/usr.sbin/bsdconfig/networking/share/routing.subr @@ -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/include/messages.subr # 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 } |