From: Jo-Philipp Wich Date: Thu, 14 Jan 2010 19:02:19 +0000 (+0000) Subject: [packages] ntpclient: add option to bind ntpclient to a specific interface (#6470) X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;h=492f4a0b7dc6435047ea7bd2b1dda878d2c7a330;hp=c64b0a295491d1a1c11a14258ba01655fdfa9c00 [packages] ntpclient: add option to bind ntpclient to a specific interface (#6470) SVN-Revision: 19134 --- diff --git a/net/ntpclient/Makefile b/net/ntpclient/Makefile index f2ceae9c4c..6f7d0b8b8c 100644 --- a/net/ntpclient/Makefile +++ b/net/ntpclient/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006-2009 OpenWrt.org +# Copyright (C) 2006-2010 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ntpclient PKG_VERSION:=2007_365 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://doolittle.icarus.com/ntpclient/ diff --git a/net/ntpclient/files/ntpclient.config b/net/ntpclient/files/ntpclient.config index c1402578f1..10be886263 100644 --- a/net/ntpclient/files/ntpclient.config +++ b/net/ntpclient/files/ntpclient.config @@ -20,3 +20,4 @@ config ntpdrift config ntpclient option interval 600 #option count 10 + #option interface wan diff --git a/net/ntpclient/files/ntpclient.hotplug b/net/ntpclient/files/ntpclient.hotplug index 7399264d15..c932688c9a 100644 --- a/net/ntpclient/files/ntpclient.hotplug +++ b/net/ntpclient/files/ntpclient.hotplug @@ -7,14 +7,26 @@ unset SERVER unset PORT unset INTERVAL unset COUNT +unset INTERFACE_GLOBAL + NTPC=`which ntpclient` check_server() { local hostname local port + local interface [ -n "$SERVER" ] && return config_get hostname $1 hostname config_get port $1 port + config_get interface $1 interface + + [ -z "$interface" ] && interface=$INTERFACE_GLOBAL + + [ -n "$interface" ] && { + # $INTERFACE is passed from hotplug event + [ "$interface" = "$INTERFACE" ] || return + } + [ -z "$hostname" ] && return $NTPC -c 1 -p ${port:-123} -i 2 -h $hostname > /dev/null && { SERVER=$hostname; PORT=${port:-123}; } } @@ -44,9 +56,11 @@ load_settings() { config_get interval $1 interval config_get count $1 count + config_get interface $1 interface [ -n "$count" ] && COUNT=$count [ -n "$interval" ] && INTERVAL=$interval + [ -n "$interface" ] && INTERFACE_GLOBAL=$interface } config_load ntpclient