From 2d197357ef9b92c6a237b438723c2969b51a802d Mon Sep 17 00:00:00 2001
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Tue, 19 Apr 2011 17:17:53 +0000
Subject: [oldnet] Bug #363959: Improve plug_timeout ifplugd/netplugd code.

- Add support for a global plug_timeout setting to match the
  documentation.
- Update the documentation to also show per-interface configuration.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
---
 doc/net.example.Linux.in | 8 +++++---
 net/ifplugd.sh           | 2 ++
 net/netplugd.sh          | 2 ++
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/doc/net.example.Linux.in b/doc/net.example.Linux.in
index 709e201b..5d7c49fd 100644
--- a/doc/net.example.Linux.in
+++ b/doc/net.example.Linux.in
@@ -975,10 +975,12 @@
 # and you're done :)
 
 # By default we don't wait for netplug/ifplugd to configure the interface.
-# If you would like it to wait so that other services know that network is up
-# then you can specify a timeout here.
+# If you would like it to wait so that other services know that network is
+# up then you can specify a timeout here. A value of 0 means wait forever,
+# and a negative value means never wait.
+#plug_timeout_eth0="10"
+# If you want to set it for all interfaces:
 #plug_timeout="10"
-# A value of 0 means wait forever.
 
 # If you don't want to use netplug on a specific interface but you have it
 # installed, you can disable it for that interface via the modules statement
diff --git a/net/ifplugd.sh b/net/ifplugd.sh
index 9f6c8846..34cd18a5 100644
--- a/net/ifplugd.sh
+++ b/net/ifplugd.sh
@@ -51,7 +51,9 @@ ifplugd_pre_start()
 
 	eindent
 
+	# IFACE-specific, then global, then default
 	eval timeout=\$plug_timeout_${IFVAR}
+	[ -z "${timeout}" ] && timeout=$plug_timeout
 	[ -z "${timeout}" ] && timeout=-1
 	if [ ${timeout} -eq 0 ]; then
 		ewarn "WARNING: infinite timeout set for ${IFACE} to come up"
diff --git a/net/netplugd.sh b/net/netplugd.sh
index 8f36ef2d..23b6d9ea 100644
--- a/net/netplugd.sh
+++ b/net/netplugd.sh
@@ -53,7 +53,9 @@ netplugd_pre_start()
 
 	eindent
 
+	# IFACE-specific, then global, then default
 	eval timeout=\$plug_timeout_${IFVAR}
+	[ -z "${timeout}" ] && timeout=$plug_timeout
 	[ -z "${timeout}" ] && timeout=-1
 	if [ ${timeout} -eq 0 ]; then
 		ewarn "WARNING: infinite timeout set for ${IFACE} to come up"
-- 
cgit v1.2.3