summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik "Freso" S. Olesen2011-11-01 23:04:14 +0100
committerFrederik “Freso” S. Olesen2015-07-12 15:26:44 +0200
commitbf5eb3d5c7d4751ad84840237eaa91c7f989e135 (patch)
tree1727741f05133ba98bdd5707df91e866a7258428
parent398a2f0d24f433efc356a13ef6da35407520db0c (diff)
downloadaur-bf5eb3d5c7d4751ad84840237eaa91c7f989e135.tar.gz
networkmanager-dispatcher-chrony: Add in my chrony script.
-rw-r--r--10-chrony53
1 files changed, 37 insertions, 16 deletions
diff --git a/10-chrony b/10-chrony
index f1569082b07f..581a575c611f 100644
--- a/10-chrony
+++ b/10-chrony
@@ -1,19 +1,40 @@
#!/bin/sh
-if [ -e "/etc/rc.d/chrony" ]; then
- case "$2" in
- up)
- /etc/rc.d/chrony start
- ;;
- vpn-up)
- /etc/rc.d/chrony start
- ;;
- down)
- /etc/rc.d/chrony stop
- ;;
- vpn-down)
- /etc/rc.d/chrony stop
- ;;
- esac
-fi
+INTERFACE=$1
+STATUS=$2
+# Chrony set-up
+CHRONY=/usr/bin/chronyc
+CONFIG=/etc/chrony.conf
+KEYFILE=`grep ^keyfile $CONFIG | sed 's/[^ ]* //' -`
+COMMANDKEY=`grep ^commandkey $CONFIG | sed 's/[^ ]* //' -`
+PASSWORD=`grep ^$COMMANDKEY $KEYFILE | sed 's/[^ ]* //' -`
+
+chrony_cmd() {
+ echo Chrony going $1.
+ exec $CHRONY <<EOF
+password $PASSWORD
+$1
+EOF
+}
+
+case "$STATUS" in
+ up)
+ chrony_cmd online
+ ;;
+ vpn-up)
+ chrony_cmd online
+ ;;
+ down)
+ # Check for active interface, take offline if none is active
+ if [ ! `nm-tool|grep State|cut -f2 -d' '` = 'connected' ]; then
+ chrony_cmd offline
+ fi
+ ;;
+ vpn-down)
+ # Check for active interface, take offline if none is active
+ if [ ! `nm-tool|grep State|cut -f2 -d' '` = 'connected' ]; then
+ chrony_cmd offline
+ fi
+ ;;
+esac