blob: 3e392bc6da70b195c30beca94b825c063f7ba98c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/bin/sh
INTERFACE=$1
STATUS=$2
# Make sure we're always getting the standard response strings
LANG='C'
# 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/.*[^ ] //' -`
STATECMD='nmcli -t --fields STATE g'
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 [ ! `${STATECMD}` = 'connected' ]; then
chrony_cmd offline
fi
;;
vpn-down)
# Check for active interface, take offline if none is active
if [ ! `${STATECMD}` = 'connected' ]; then
chrony_cmd offline
fi
;;
esac
|