diff options
Diffstat (limited to 'package/base-files/files/etc/hotplug.d/iface/40-rdate')
-rw-r--r-- | package/base-files/files/etc/hotplug.d/iface/40-rdate | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/package/base-files/files/etc/hotplug.d/iface/40-rdate b/package/base-files/files/etc/hotplug.d/iface/40-rdate deleted file mode 100644 index c5abaf011e..0000000000 --- a/package/base-files/files/etc/hotplug.d/iface/40-rdate +++ /dev/null @@ -1,63 +0,0 @@ -IFACE_GLOBAL=$(uci_get "system.@rdate[0].interface") -SERVERS= -MAX=0 -SYNCED= - -do_rdate() -{ - local server="$1" - - rdate -s "$server" >/dev/null 2>/dev/null && { - logger -t rdate "Synced with $server" - SYNCED="$server" - } || { - logger -t rdate "Failed to sync with $server" - } -} - -add_server() -{ - local section="$1" - - local server - config_get server "$section" hostname - [ -z "$server" ] && return - - local iface - config_get iface "$section" interface - [ -z "$iface" ] && iface=$IFACE_GLOBAL - [ -n "$iface" ] && { - [ "$iface" = "$INTERFACE" ] || return - } - - SERVERS="${SERVERS} $server"; : $((MAX++)) -} - -sync_time() -{ - local server - server=$(uci_get_state "network.$INTERFACE.lease_timesrv") - [ -n "$server" ] && do_rdate "$server" - [ -n "$SYNCED" ] && return - - config_load timeserver - config_foreach add_server timeserver - - local servers - while [ $MAX -gt 0 ] && [ -z "$SYNCED" ]; do - unset servers; random=$(awk "BEGIN { srand(); print int(rand() * $MAX + 1); }") - for server in $SERVERS; do - [ $((--random)) -eq 0 ] && { do_rdate "$server"; continue; } - servers="${servers} $server" - done - SERVERS="${servers}"; : $((MAX--)) - done - - [ -z "$SYNCED" ] && logger -t rdate "No usable time server for $INTERFACE found" -} - -case "${ACTION:-ifup}" in - ifup) - sync_time - ;; -esac |