From patchwork Fri Mar 3 18:23:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Emil Velikov via arch-projects X-Patchwork-Id: 53 Return-Path: Delivered-To: patchwork@archlinux.org Received: from nymeria.archlinux.org by nymeria.archlinux.org (Dovecot) with LMTP id pQwIDMq0uVj2JAAAtiB/HQ for ; Fri, 03 Mar 2017 19:24:10 +0100 Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1]) by nymeria.archlinux.org (Postfix) with ESMTP id CEFA240916; Fri, 3 Mar 2017 19:24:08 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on nymeria.archlinux.org X-Spam-Level: X-Spam-Status: No, score=-4.3 required=2.5 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_MED shortcircuit=no autolearn=unavailable autolearn_force=no version=3.4.1 Received: from luna.archlinux.org (luna.archlinux.org [IPv6:2a01:4f8:160:3033::2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by nymeria.archlinux.org (Postfix) with ESMTPS; Fri, 3 Mar 2017 19:24:08 +0100 (CET) Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 695132CCB4; Fri, 3 Mar 2017 18:24:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=archlinux.org; s=luna2; t=1488565448; bh=glxjU+Ggw3JDXgQIj6S7Au1g+EB/SKFLacFk9hMCseM=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc; b=ZeERaMc6ri0k3X5P3C5V5BuCM5JCBvIaN/jhcvQRBgNMfye91pz5WKmR88/IAs2HE 4MgtS2O9fXw8lsJpqk1dRtRsqLI6ZvN5ka4vfVeqpUe2GwwF+a9NmUotxea/moD8zw nP40wfhckBUu+rbRcIqoWnD3AZhKBzX5nkDQoPV3cNnOAiISOwOMUY836CYYJzsAnc sTUBDQ4ONqo42DnwtpKhszgmDpsPZ095+mAnGVj3FbtIcsbPxvfm1lpG7M6bxPksZg F3JPHknv9VAkUEhFHd8EgU4irpOScM5MmvP/nam84k7V5D82E9jpXwdtrF1GyMI0po Qwn9zIsWYCndkXH2VHf/yibaTtvrrYx8SAN3C0nLzarIfz9QtnMNDC8caR4e5ZyIHd IotkDAzcXgics7zqU1lcjxxbDUIAGQ96ygNja3FYnZuBpoDsmaCssnWzNeEW42nKGc uIn2EZ6VAlL711HgpBy0C2YLNw1xJXqP5sF53GyAqzEPBUPIfceq2fqeRUAC6AIL7g 6qpS4iGq6b+CoDAbhLyf2uNLD1rinYJhP2So5Wor2CUbMPQNLXYiKwyB49WUWfyjBF BHr9i7LufsbU79axh6X6febiFiQNk6Ffat0Qj5Cf6yiVzhVEJJOTTeLZtCaUpxH3O7 4spqdWSjHsJ43ioy2n/xDByw= Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1]) by luna.archlinux.org (Postfix) with ESMTP id 863EC2CCA3 for ; Fri, 3 Mar 2017 18:24:05 +0000 (UTC) Received: from nymeria.archlinux.org (nymeria.archlinux.org [IPv6:2a00:1828:2000:547::2]) by luna.archlinux.org (Postfix) with ESMTPS for ; Fri, 3 Mar 2017 18:24:05 +0000 (UTC) Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1]) by nymeria.archlinux.org (Postfix) with ESMTP id 1F45E408DD for ; Fri, 3 Mar 2017 19:24:03 +0100 (CET) Received: from mail-wm0-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by nymeria.archlinux.org (Postfix) with ESMTPS for ; Fri, 3 Mar 2017 19:24:02 +0100 (CET) Received: by mail-wm0-x242.google.com with SMTP id m70so4372944wma.1 for ; Fri, 03 Mar 2017 10:24:02 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=PDd4+HhycmOL6WHrM+JIX0zAagdwwFk1qLkLpw7HvfU=; b=TqByiQFq3RRcXy5NRRVwKuf/eUpIDIdT9/3cyYyGF9AFkbcNf9o71/IGlC6K4QSBYP MxKXX6Tr5hjbetVKKPmqejnk43HJbzvL6+GFDKsSx/65C2Vl5P8plAVFEpoFLeu9yfbR QQDhEgIC6fUT1a5Bw3B5Mocd5zInaetD9F4J7SqmQbY2RU4clUFATP1306FSxiiaZ2b8 L/eC2TksAB430JKAJeHciVdiIO6BrQX7WCDumaqXeElwkZFFgSTYwtw5fCEisTjR1f10 zfuBjPNi9kr71OJaepVxwnOOVgBKfF73kI+K78Wv7rmdU7/eDrjUjeNl2hK5PMliFxTm 60lw== X-Gm-Message-State: AMke39k0XvcuLDatVDjnxvui6SFCwELQwskawsdqPkSCTTGqh6VcftKQD1OV6ScG0b20hQ== X-Received: by 10.28.196.68 with SMTP id u65mr4076996wmf.8.1488565441754; Fri, 03 Mar 2017 10:24:01 -0800 (PST) Received: from Mindship-03 (ip5653397a.direct-adsl.nl. [86.83.57.122]) by smtp.gmail.com with ESMTPSA id 10sm16127551wrw.13.2017.03.03.10.24.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Mar 2017 10:24:00 -0800 (PST) Date: Fri, 3 Mar 2017 19:23:54 +0100 To: arch-projects@archlinux.org Message-ID: <20170303182354.GA5475@Mindship-03> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.8.0 (2017-02-23) Subject: [arch-projects] [netctl][PATCH 1/3] Minor code streamlining X-BeenThere: arch-projects@archlinux.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Arch Linux projects development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Jouke Witteveen via arch-projects Reply-To: Arch Linux projects development discussion Cc: Jouke Witteveen Errors-To: arch-projects-bounces@archlinux.org Sender: "arch-projects" X-UID: 126 Status: X-Keywords: Content-Length: 8856 --- src/ifplugd.action | 2 +- src/lib/connections/mobile_ppp | 4 ++-- src/lib/connections/pppoe | 4 ++-- src/lib/dhcp/dhclient | 4 ++-- src/lib/dhcp/dhcpcd | 4 ++-- src/lib/wpa | 25 +++++++++++++------------ src/netctl-auto | 9 ++++++--- src/netctl.in | 2 +- 8 files changed, 29 insertions(+), 25 deletions(-) diff --git a/src/ifplugd.action b/src/ifplugd.action index 42d1c5a..a1c8dee 100755 --- a/src/ifplugd.action +++ b/src/ifplugd.action @@ -4,7 +4,7 @@ . /usr/lib/network/globals -PROFILE_FILE="$STATE_DIR/ifplugd_$1.profile" +PROFILE_FILE="$STATE_DIR/ifplugd-$1.profile" case "$2" in up) diff --git a/src/lib/connections/mobile_ppp b/src/lib/connections/mobile_ppp index 0890373..11cb41e 100644 --- a/src/lib/connections/mobile_ppp +++ b/src/lib/connections/mobile_ppp @@ -11,7 +11,7 @@ quote_word() { } mobile_ppp_up() { - local options_dir="$STATE_DIR/mobile_ppp.$Interface.$Profile" + local options_dir="$STATE_DIR/mobile_ppp-$Interface-$Profile" network_ready @@ -83,7 +83,7 @@ EOF mobile_ppp_down() { local options_dir pidfile pid - options_dir="$STATE_DIR/mobile_ppp.$Interface.$Profile" + options_dir="$STATE_DIR/mobile_ppp-$Interface-$Profile" pidfile="/var/run/ppp-$Profile.pid" if [[ -r $pidfile ]]; then diff --git a/src/lib/connections/pppoe b/src/lib/connections/pppoe index 15e4db5..96cda80 100644 --- a/src/lib/connections/pppoe +++ b/src/lib/connections/pppoe @@ -8,7 +8,7 @@ quote_word() { } pppoe_up() { - local options="$STATE_DIR/pppoe.$Interface.$Profile/options" + local options="$STATE_DIR/pppoe-$Interface-$Profile/options" if ! is_interface "$Interface"; then report_error "Interface '$Interface' does not exist" @@ -61,7 +61,7 @@ EOF pppoe_down() { local options pidfile pid - options="$STATE_DIR/pppoe.$Interface.$Profile/options" + options="$STATE_DIR/pppoe-$Interface-$Profile/options" pidfile="/var/run/ppp-$Profile.pid" if [[ -r $pidfile ]]; then diff --git a/src/lib/dhcp/dhclient b/src/lib/dhcp/dhclient index 87e9a92..397adda 100644 --- a/src/lib/dhcp/dhclient +++ b/src/lib/dhcp/dhclient @@ -8,7 +8,7 @@ dhclient_start() { *) return 1;; esac [[ $2 == "noaddr" ]] && options+=" -S" - if ! do_debug do_readable dhclient -$1 -q -e "TIMEOUT=${TimeoutDHCP:-30}" -pf "$pidfile" $options "$Interface"; then + if ! do_debug do_readable dhclient "-$1" -q -e "TIMEOUT=${TimeoutDHCP:-30}" -pf "$pidfile" $options "$Interface"; then report_error "DHCP IPv$1 lease attempt failed on interface '$Interface'" return 1 fi @@ -18,7 +18,7 @@ dhclient_stop() { local stop="-x" pidfile="/run/dhclient-$Interface-$1.pid" if [[ -f $pidfile ]]; then is_yes "${DHCPReleaseOnStop:-no}" && stop="-r" - do_debug dhclient -$1 -q $stop "$Interface" -pf "$pidfile" > /dev/null + do_debug dhclient "-$1" -q $stop "$Interface" -pf "$pidfile" > /dev/null fi } diff --git a/src/lib/dhcp/dhcpcd b/src/lib/dhcp/dhcpcd index c88047f..ef1245d 100644 --- a/src/lib/dhcp/dhcpcd +++ b/src/lib/dhcp/dhcpcd @@ -13,7 +13,7 @@ dhcpcd_start() { fi # If using own dns, tell dhcpcd to NOT replace resolv.conf [[ $DNS ]] && options+=" -C resolv.conf" - if ! do_debug do_readable dhcpcd -$1 -q -t "${TimeoutDHCP:-30}" $options "$Interface"; then + if ! do_debug do_readable dhcpcd "-$1" -q -t "${TimeoutDHCP:-30}" $options "$Interface"; then report_error "DHCP IPv$1 lease attempt failed on interface '$Interface'" return 1 fi @@ -23,7 +23,7 @@ dhcpcd_stop() { local stop="-x" if [[ -f "/run/dhcpcd-$Interface-$1.pid" ]]; then is_yes "${DHCPReleaseOnStop:-no}" && stop="-k" - do_debug dhcpcd -$1 -q $stop "$Interface" > /dev/null + do_debug dhcpcd "-$1" -q $stop "$Interface" > /dev/null fi } diff --git a/src/lib/wpa b/src/lib/wpa index b61f93b..e7d873d 100644 --- a/src/lib/wpa +++ b/src/lib/wpa @@ -64,29 +64,29 @@ wpa_wait_while_state() { # $2: interface driver(s) # $3: configuration file wpa_start() { - local interface=$1 driver=$2 configuration=$3 - local pidfile="/run/wpa_supplicant_$interface.pid" + local interface=$1 driver=$2 config_file=$3 + local pidfile="/run/wpa_supplicant-$interface.pid" if ! type wpa_supplicant &> /dev/null; then report_error "You need to install 'wpa_supplicant'" return 127 fi - if [[ $configuration ]]; then - configuration="-c$configuration" + if [[ $config_file ]]; then + config_file="-c$config_file" else WPA_CTRL_DIR="/run/wpa_supplicant" - configuration="-C$WPA_CTRL_DIR" + config_file="-C$WPA_CTRL_DIR" fi do_debug wpa_supplicant -q -B -P "$pidfile" -i "$interface" -D "$driver" \ - "$configuration" $WPAOptions >&2 + "$config_file" $WPAOptions >&2 # Wait up to one second for the pid file to appear if ! timeout_wait 1 '[[ -f $pidfile ]]'; then # Remove the configuration file if it was generated - configuration="$STATE_DIR/wpa_supplicant_$interface.conf" - [[ -f $configuration && -O $configuration ]] && rm -f "$configuration" + config_file="$STATE_DIR/wpa_supplicant-$interface.conf" + [[ -f $config_file && -O $config_file ]] && rm -f "$config_file" return 1 fi } @@ -94,7 +94,8 @@ wpa_start() { ## Stop an instance of the wpa supplicant # $1: interface name wpa_stop() { - local interface=$1 config_file="$STATE_DIR/wpa_supplicant_$1.conf" + local interface=$1 config_file="$STATE_DIR/wpa_supplicant-$1.conf" + local pidfile="/run/wpa_supplicant-$interface.pid" # We need this as long as wpa_cli has a different default than netctl if [[ -z $WPA_CTRL_DIR && -z $WPAConfigFile ]]; then WPA_CTRL_DIR="/run/wpa_supplicant" @@ -107,8 +108,8 @@ wpa_stop() { [[ -f $config_file && -O $config_file ]] && rm -f "$config_file" # Wait up to one second for the pid file to be removed - if ! timeout_wait 1 '[[ ! -f "/run/wpa_supplicant_$interface.pid" ]]'; then - kill "$(< "/run/wpa_supplicant_$interface.pid")" &> /dev/null + if ! timeout_wait 1 '[[ ! -f $pidfile ]]'; then + kill "$(< "$pidfile")" &> /dev/null fi } @@ -192,7 +193,7 @@ wpa_unquote() { ## Create a configuration file for wpa_supplicant without any network blocks # $1: interface name wpa_make_config_file() { - local config_file="$STATE_DIR/wpa_supplicant_$1.conf" + local config_file="$STATE_DIR/wpa_supplicant-$1.conf" if [[ -e $config_file ]]; then report_debug "The anticipated filename '$config_file' is not available" diff --git a/src/netctl-auto b/src/netctl-auto index b25d258..f78efe3 100755 --- a/src/netctl-auto +++ b/src/netctl-auto @@ -8,6 +8,7 @@ : ${ACTIOND:=wpa_actiond -p /run/wpa_supplicant} : ${ACTION_SCRIPT:=$SUBR_DIR/auto.action} + usage() { cat << END Usage: netctl-auto {COMMAND} ... @@ -81,7 +82,7 @@ profile_enable_disable() { local action="$1" profile="$2" local id interfaces wpa_cmd - if [[ -n "$profile" ]]; then + if [[ $profile ]]; then read -r interfaces id < <(get_wpa_network_id "$profile") || return 1 else interfaces=$(list_netctl_auto_interfaces) @@ -197,7 +198,7 @@ list() { # $1: interface start() { local interface="$1" - local pidfile="$STATE_DIR/wpa_actiond_$1.pid" + local pidfile="$STATE_DIR/wpa_actiond-$interface.pid" if wpa_is_active "$interface"; then exit_error "The interface ($interface) is already in use" @@ -247,7 +248,7 @@ start() { # $1: interface stop() { local interface="$1" - local pidfile="$STATE_DIR/wpa_actiond_$1.pid" + local pidfile="$STATE_DIR/wpa_actiond-$interface.pid" [[ -e "$pidfile" ]] && kill "$(< "$pidfile")" if [[ -x "$PROFILE_DIR/interfaces/$interface" ]]; then @@ -259,6 +260,7 @@ stop() { return 0 } + case $# in 1) case $1 in @@ -292,4 +294,5 @@ case $# in exit_error "$(usage)";; esac + # vim: ft=sh ts=4 et sw=4: diff --git a/src/netctl.in b/src/netctl.in index ea1c9aa..37c095c 100644 --- a/src/netctl.in +++ b/src/netctl.in @@ -97,7 +97,7 @@ unit_enable() { do_readable touch "$unit" echo ".include @systemdsystemunitdir@/netctl@.service" > "$unit" echo -e "\n[Unit]" >> "$unit" - [[ -n $Description ]] && echo "Description=$Description" >> "$unit" + [[ $Description ]] && echo "Description=$Description" >> "$unit" declare -p BindsToInterfaces &> /dev/null || BindsToInterfaces=$Interface if (( ${#BindsToInterfaces[@]} )); then : ${InterfaceRoot=sys/subsystem/net/devices/}