--- old/lib.providers +++ new/lib.providers @@ -141,7 +141,7 @@ # Add Provider $table ($number) # __EOF__ - save_command "if interface_is_usable $interface; then" + save_command "if [ -n \"$interface\" ] && interface_is_usable \"$interface\"; then" save_indent1="$INDENT" INDENT="$INDENT " @@ -283,7 +283,14 @@ INDENT="$save_indent1" save_command else - if [ -n "$optional" ]; then + if [ "${interface:--}" = "-" -a "${duplicate:--}" = "-" -a "${gateway:--}" = "-" -a "${options:--}" = "-" -a "${copy:--}" = "-" ]; then + indent >&3 << __EOF__ + +progress_message " Provider $table ($number) Added" + +__EOF__ + + elif [ -n "$optional" ]; then save_command " error_message \"WARNING: Interface $interface is not configured -- Provider $table ($number) not Added\"" save_command " ${iface}_up=" else @@ -316,10 +323,6 @@ [ "x$source" = x- ] && source= [ "x$dest" = x- ] && dest= || dest="to $dest" - [ -n "${source}${dest}" ] || fatal_error "You must specify either the source or destination in an rt rule: \"$rule\"" - - [ -n "${dest:=to 0.0.0.0/0}" ] - if [ -n "$source" ]; then case $source in *:*) @@ -332,8 +335,6 @@ source="iif $source" ;; esac - else - source='from 0.0.0.0/0' fi case "$priority" in