From b3f04bdeb4d4858e55c288621b3a49e363ab4ac0 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 14 Jan 2010 19:02:19 +0000 Subject: [PATCH] ntpclient: add option to bind ntpclient to a specific interface (#6470) SVN-Revision: 19134 --- net/ntpclient/Makefile | 4 ++-- net/ntpclient/files/ntpclient.config | 1 + net/ntpclient/files/ntpclient.hotplug | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/net/ntpclient/Makefile b/net/ntpclient/Makefile index f2ceae9c4..6f7d0b8b8 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 c1402578f..10be88626 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 7399264d1..c932688c9 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 -- 2.30.2