Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 70299 Details for
Bug 108737
netplug script bugs
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
new netplug init script
netplugd (text/plain), 3.61 KB, created by
Roy Marples (RETIRED)
on 2005-10-10 09:42:04 UTC
(
hide
)
Description:
new netplug init script
Filename:
MIME Type:
Creator:
Roy Marples (RETIRED)
Created:
2005-10-10 09:42:04 UTC
Size:
3.61 KB
patch
obsolete
>#!/bin/bash ># Copyright (c) 2004-2005 Gentoo Foundation ># Distributed under the terms of the GNU General Public License v2 > ># Contributed by Roy Marples (uberlord@gentoo.org) > ># char* netplugd_provides(void) ># ># Returns a string to change module definition for starting up >netplugd_provides() { > echo "plug" >} > ># void netplugd_depend(void) ># ># Sets up the dependancies for the module >netplugd_depend() { > after macnet > before interface >} > ># bool netplugd_check_installed(void) ># ># Returns 0 if netplug is installed, otherwise 1 >netplugd_check_installed() { > if [[ ! -x /sbin/netplugd ]]; then > ${1:-false} && eerror "For netplug support, emerge sys-apps/netplug" > return 1 > fi > return 0 >} > ># bool netplugd_check_depends(void) ># ># Checks to see if we have the needed functions >netplugd_check_depends() { > local f > > for f in interface_exists interface_get_mac_address ; do > [[ $( type -t "${f}" ) == "function" ]] && continue > eerror "netplugd: missing required function ${f}\n" > return 1 > done > > return 0 >} > ># bool netplugd_pre_start(char *interface) ># ># Start netplug on an interface >netplugd_pre_start() { > local iface="$1" timeout i > local pidfile="/var/run/netplugd.${iface}.pid" > > # We don't start netplug if we're being called from the background > ${IN_BACKGROUND} && return 0 > > interface_exists "${iface}" || return 0 > > # We need a valid MAC address > # It's a basic test to ensure it's not a virtual interface > local mac=$(interface_get_mac_address "${iface}") > if [[ -z ${mac} ]]; then > vewarn "netplug only works on interfaces with a valid MAC address" > return 0 > fi > > # We don't work on bridges > if [[ $(type -t bridge_exists) == "function" ]]; then > if bridge_exists "${iface}"; then > veinfo "netplug does not work on bridges" > return 0 > fi > fi > > # We don't work on tun/tap interfaces > if [[ $(type -t tuntap_exists) == "function" ]]; then > if tuntap_exists "${iface}"; then > veinfo "netplug does not work on tun/tap interfaces" > return 0 > fi > fi > > # We don't work on wirelesss interfaces > if [[ $(type -t wireless_check_extensions) == "function" ]]; then > if wireless_check_extensions "${iface}"; then > veinfo "netplug does not work on wireless interfaces" > return 0 > fi > fi > > ebegin "Starting netplug on ${iface}" > > # We need the interface up for netplug to listen to netlink events > interface_up "${iface}" > > # Mark the us as inactive so netplug can restart us > mark_service_inactive "net.${iface}" > > # Start netplug > start-stop-daemon --start --exec /sbin/netplugd \ > --pidfile "${pidfile}" \ > -- -i "${iface}" -P -p "${pidfile}" -c /dev/null > eend "$?" || return 1 > > eindent > > eval timeout=\"\$\{plug_timeout_${ifvar}\:-10}\" > if [[ ${timeout} == "0" ]]; then > ewarn "WARNING: infinite timeout set for ${iface} to come up" > elif [[ ${timeout} -lt 0 ]]; then > ewarn "WARNING: negative timeout set for ${iface}" > exit 0 > fi > > veinfo "Waiting for ${iface} to be marked as started" > > i=0 > while true ; do > if service_started "net.${iface}"; then > local addr=$( interface_get_address "${iface}" ) > einfo "${iface} configured with address ${addr}" > exit 0 > fi > sleep 1 > (( i++ )) > [[ ${i} == "${timeout}" || ${i} -gt "${timeout}" ]] && break > done > > eend 1 "Failed to configure ${iface} in the background" > exit 0 >} > ># bool netplugd_post_stop(char *iface) ># ># Stops netplug on an interface ># Returns 0 (true) when successful, non-zero otherwise >netplugd_post_stop() { > ${IN_BACKGROUND} && return 0 > local iface="$1" > local pidfile="/var/run/netplugd.${iface}.pid" > > [[ ! -e ${pidfile} ]] && return 0 > > ebegin "Stopping netplug on ${iface}" > start-stop-daemon --stop --exec /sbin/netplugd \ > --pidfile "${pidfile}" > eend $? >} > ># vim:ts=4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 108737
: 70299