summaryrefslogtreecommitdiffstats
path: root/src/connections
diff options
context:
space:
mode:
authorRémy Oudompheng <remy@archlinux.org>2011-08-15 15:36:51 +0200
committerRémy Oudompheng <remy@archlinux.org>2011-08-15 15:36:51 +0200
commit243a9f012e8a825f7d8c9b475afb1dd84d320b58 (patch)
treed3ca6a970c1067cbaaa3d66294d7188829820791 /src/connections
parenta2b290b81adfbe7e619cf82101bdd1c13de64566 (diff)
parentae5c12c285c51ed2f778b3c887c469345ad6d672 (diff)
downloadnetctl-243a9f012e8a825f7d8c9b475afb1dd84d320b58.tar.gz
netctl-243a9f012e8a825f7d8c9b475afb1dd84d320b58.tar.xz
Merge branch '2.6.x'
Diffstat (limited to 'src/connections')
-rw-r--r--src/connections/ethernet26
-rw-r--r--src/connections/wireless5
2 files changed, 21 insertions, 10 deletions
diff --git a/src/connections/ethernet b/src/connections/ethernet
index f9c660c..04d65fa 100644
--- a/src/connections/ethernet
+++ b/src/connections/ethernet
@@ -37,7 +37,12 @@ ethernet_up() {
. "$SUBR_DIR/8021x"
[[ -z "$WPA_CONF" ]] && WPA_CONF="/etc/wpa_supplicant.conf"
[[ -z "$WPA_DRIVER" ]] && WPA_DRIVER="wired"
-
+ # Set wpa_supplicant control path (FS#25473)
+ WPA_CTRL_PATH=/var/run/wpa_supplicant
+ if grep "^ *ctrl_interface=" "$WPA_CONF" &>/dev/null; then
+ WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | tail -n 1 | cut -d= -f 2- | sed -r 's/DIR=(.*) +GROUP=.*/\1/')
+ fi
+
report_debug ethernet_iproute_up start_wpa "$INTERFACE" "$WPA_CONF" "$WPA_DRIVER" "$WPA_OPTS"
if ! start_wpa "$INTERFACE" "$WPA_CONF" "$WPA_DRIVER" "$WPA_OPTS"; then
report_fail "wpa_supplicant did not start, possible configuration error"
@@ -127,6 +132,19 @@ ethernet_up() {
done
fi
+ # Load ipv6 module if necessary (FS#25530)
+ case "$IP6" in
+ dhcp*|stateless|static)
+ [ -d "/proc/sys/net/ipv6" ] || modprobe ipv6
+ ;;
+ ""|no)
+ [ -d /proc/sys/net/ipv6 ] && sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=0
+ ;;
+ *)
+ report_iproute "IP6 must be 'dhcp', 'dhcp-noaddr', 'stateless', 'static' or 'no'"
+ ;;
+ esac
+
case "$IP6" in
dhcp*)
if [[ -x /usr/sbin/dhclient ]]; then
@@ -178,12 +196,6 @@ ethernet_up() {
done
fi
;;
- ""|no)
- sysctl -q -w net.ipv6.conf.$INTERFACE.accept_ra=0
- ;;
- *)
- report_iproute "IP6 must be 'dhcp', 'dhcp-noaddr', 'stateless', 'static' or 'no'"
- ;;
esac
# Set hostname
diff --git a/src/connections/wireless b/src/connections/wireless
index 7ed5abe..b19afde 100644
--- a/src/connections/wireless
+++ b/src/connections/wireless
@@ -30,8 +30,8 @@ wireless_up() {
if [ "$SECURITY" = "wpa-config" ]; then
WPA_CONF="${WPA_CONF:-/etc/wpa_supplicant.conf}"
# Use defined control path (FS#24949)
- if grep "ctrl_interface=" "$WPA_CONF" &>/dev/null; then
- WPA_CTRL_PATH=$(grep -m 1 "^ctrl_interface=" "$WPA_CONF" | tail -n 1 | cut -d= -f 2- | sed -r 's/DIR=(.*) +GROUP=.*/\1/')
+ if grep "^ *ctrl_interface=" "$WPA_CONF" &>/dev/null; then
+ WPA_CTRL_PATH=$(grep -m 1 "^ *ctrl_interface=" "$WPA_CONF" | tail -n 1 | cut -d= -f 2- | sed -r 's/DIR=(.*) +GROUP=.*/\1/')
fi
else
WPA_CONF=$(make_wpa_config_file $INTERFACE)
@@ -122,7 +122,6 @@ wireless_down() {
# Handle wireless kill switches
# Any reason why a hardware switch should be considered on interface down?
if [[ "$RFKILL" == "soft" ]]; then
- . "$SUBR_DIR/wireless"
set_rf_state "$INTERFACE" disabled $RFKILL_NAME || return 1
fi
}