Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/bsdinstall/scripts/netconfig
Show All 25 Lines | |||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
# SUCH DAMAGE. | # SUCH DAMAGE. | ||||
# | # | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
BSDCFG_SHARE="/usr/share/bsdconfig" | |||||
. $BSDCFG_SHARE/common.subr || exit 1 | |||||
INTERFACES="" | INTERFACES="" | ||||
BSDDIALOG_ITEMS="" | BSDDIALOG_ITEMS="" | ||||
: ${BSDDIALOG_OK=0} | : ${BSDDIALOG_OK=0} | ||||
: ${BSDDIALOG_CANCEL=1} | : ${BSDDIALOG_CANCEL=1} | ||||
: ${BSDDIALOG_HELP=2} | : ${BSDDIALOG_HELP=2} | ||||
: ${BSDDIALOG_EXTRA=3} | : ${BSDDIALOG_EXTRA=3} | ||||
: ${BSDDIALOG_ESC=5} | : ${BSDDIALOG_ESC=5} | ||||
Show All 16 Lines | |||||
} | } | ||||
for IF in $INTERFACES; do | for IF in $INTERFACES; do | ||||
DESC=`sysctl -n dev.$(echo $IF | sed -E 's/([[:alpha:]]*)([[:digit:]]*)/\1.\2/g').%desc` | DESC=`sysctl -n dev.$(echo $IF | sed -E 's/([[:alpha:]]*)([[:digit:]]*)/\1.\2/g').%desc` | ||||
BSDDIALOG_ITEMS="$BSDDIALOG_ITEMS $IF \"$DESC\"" | BSDDIALOG_ITEMS="$BSDDIALOG_ITEMS $IF \"$DESC\"" | ||||
done | done | ||||
if [ -z "$INTERFACES" ]; then | if [ -z "$INTERFACES" ]; then | ||||
bsddialog --backtitle 'FreeBSD Installer' \ | bsddialog --backtitle "$OSNAME Installer" \ | ||||
--title 'Network Configuration Error' \ | --title 'Network Configuration Error' \ | ||||
--msgbox 'No network interfaces present to configure.' 0 0 | --msgbox 'No network interfaces present to configure.' 0 0 | ||||
exit 1 | exit 1 | ||||
fi | fi | ||||
exec 3>&1 | exec 3>&1 | ||||
INTERFACE=`echo $BSDDIALOG_ITEMS | xargs -o bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' --menu 'Please select a network interface to configure:' 0 0 0 2>&1 1>&3` | INTERFACE=`echo $BSDDIALOG_ITEMS | xargs -o bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' --menu 'Please select a network interface to configure:' 0 0 0 2>&1 1>&3` | ||||
if [ $? -eq $BSDDIALOG_CANCEL ]; then exit 1; fi | if [ $? -eq $BSDDIALOG_CANCEL ]; then exit 1; fi | ||||
exec 3>&- | exec 3>&- | ||||
: > $BSDINSTALL_TMPETC/._rc.conf.net | : > $BSDINSTALL_TMPETC/._rc.conf.net | ||||
IFCONFIG_PREFIX="" | IFCONFIG_PREFIX="" | ||||
if is_wireless_if $INTERFACE; then | if is_wireless_if $INTERFACE; then | ||||
NEXT_WLAN_IFACE=wlan0 # XXX | NEXT_WLAN_IFACE=wlan0 # XXX | ||||
Show All 14 Lines | |||||
0) IPV6_AVAIL=1 ;; | 0) IPV6_AVAIL=1 ;; | ||||
esac | esac | ||||
sysctl -N kern.features.inet > /dev/null 2>&1 | sysctl -N kern.features.inet > /dev/null 2>&1 | ||||
case $? in | case $? in | ||||
0) IPV4_AVAIL=1 ;; | 0) IPV4_AVAIL=1 ;; | ||||
esac | esac | ||||
if [ ${IPV4_AVAIL} -eq 1 ]; then | if [ ${IPV4_AVAIL} -eq 1 ]; then | ||||
bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' \ | bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' \ | ||||
--yesno 'Would you like to configure IPv4 for this interface?' 0 0 | --yesno 'Would you like to configure IPv4 for this interface?' 0 0 | ||||
if [ $? -eq $BSDDIALOG_OK ]; then | if [ $? -eq $BSDDIALOG_OK ]; then | ||||
bsdinstall netconfig_ipv4 ${INTERFACE} "${IFCONFIG_PREFIX}" || \ | bsdinstall netconfig_ipv4 ${INTERFACE} "${IFCONFIG_PREFIX}" || \ | ||||
exec $0 | exec $0 | ||||
else | else | ||||
IPV4_AVAIL=0 | IPV4_AVAIL=0 | ||||
fi | fi | ||||
fi | fi | ||||
# In case wlanconfig left an option and we do not support IPv4 we need to write | # In case wlanconfig left an option and we do not support IPv4 we need to write | ||||
# it out on its own. We cannot write it out with IPv6 as that suffix. | # it out on its own. We cannot write it out with IPv6 as that suffix. | ||||
if [ ${IPV4_AVAIL} -eq 0 -a -n ${IFCONFIG_PREFIX} ]; then | if [ ${IPV4_AVAIL} -eq 0 -a -n ${IFCONFIG_PREFIX} ]; then | ||||
echo ifconfig_${INTERFACE}=\"${IFCONFIG_PREFIX}\" >> $BSDINSTALL_TMPETC/._rc.conf.net | echo ifconfig_${INTERFACE}=\"${IFCONFIG_PREFIX}\" >> $BSDINSTALL_TMPETC/._rc.conf.net | ||||
fi | fi | ||||
if [ ${IPV6_AVAIL} -eq 1 ]; then | if [ ${IPV6_AVAIL} -eq 1 ]; then | ||||
bsddialog --backtitle 'FreeBSD Installer' --title 'Network Configuration' \ | bsddialog --backtitle "$OSNAME Installer" --title 'Network Configuration' \ | ||||
--yesno 'Would you like to configure IPv6 for this interface?' 0 0 | --yesno 'Would you like to configure IPv6 for this interface?' 0 0 | ||||
if [ $? -eq $BSDDIALOG_OK ]; then | if [ $? -eq $BSDDIALOG_OK ]; then | ||||
bsdinstall netconfig_ipv6 ${INTERFACE} || exec $0 | bsdinstall netconfig_ipv6 ${INTERFACE} || exec $0 | ||||
else | else | ||||
IPV6_AVAIL=0 | IPV6_AVAIL=0 | ||||
fi | fi | ||||
fi | fi | ||||
▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | RESOLV=" | ||||
'Nameserver' 2 1 \"Nameserver\" 2 1 11 11 2 | 'Nameserver' 2 1 \"Nameserver\" 2 1 11 11 2 | ||||
'IPv4 DNS #1' 2 1 \"${IP4_1}\" 2 16 16 16 0 | 'IPv4 DNS #1' 2 1 \"${IP4_1}\" 2 16 16 16 0 | ||||
'IPv4 DNS #2' 3 1 \"${IP4_2}\" 3 16 16 16 0" | 'IPv4 DNS #2' 3 1 \"${IP4_2}\" 3 16 16 16 0" | ||||
else | else | ||||
exit 0 | exit 0 | ||||
fi | fi | ||||
exec 3>&1 | exec 3>&1 | ||||
RESOLV=$(echo "${RESOLV}" | xargs -o bsddialog --backtitle 'FreeBSD Installer' \ | RESOLV=$(echo "${RESOLV}" | xargs -o bsddialog --backtitle "$OSNAME Installer" \ | ||||
--title 'Network Configuration' \ | --title 'Network Configuration' \ | ||||
--mixedform 'Resolver Configuration' 0 0 0 \ | --mixedform 'Resolver Configuration' 0 0 0 \ | ||||
2>&1 1>&3) | 2>&1 1>&3) | ||||
if [ $? -eq $BSDDIALOG_CANCEL ]; then exec $0; fi | if [ $? -eq $BSDDIALOG_CANCEL ]; then exec $0; fi | ||||
exec 3>&- | exec 3>&- | ||||
echo ${RESOLV} | tr ' ' '\n' | \ | echo ${RESOLV} | tr ' ' '\n' | \ | ||||
awk ' | awk ' | ||||
Show All 25 Lines |