Skip to content

Commit c8bf0db

Browse files
committed
Handle MacOS 11.x versions
Fixes #8
1 parent 638728a commit c8bf0db

File tree

1 file changed

+28
-23
lines changed

1 file changed

+28
-23
lines changed

dnscrypt-proxy-switcher.10s.sh

Lines changed: 28 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,11 @@ classic)
4646
esac
4747

4848
osversion=$(sw_vers -productVersion)
49-
osmajor=$(echo "$osversion" | awk -F. '{print $2}')
50-
[ "$osmajor" -lt 7 ] && exit 1
49+
osmajor=$(echo "$osversion" | awk -F. '{print $1}')
50+
osminor=$(echo "$osversion" | awk -F. '{print $2}')
51+
ospatch=$(echo "$osversion" | awk -F. '{print $3}')
52+
[ "$osmajor" -lt 10 ] && exit 1
53+
[ "$osmajor" == 10 ] && [ "$osminor" -lt 7 ] && exit 1
5154

5255
get_current_service() {
5356
services=$(networksetup -listnetworkserviceorder | grep -F 'Hardware Port')
@@ -111,35 +114,37 @@ get_current_resolvers() {
111114
}
112115

113116
flush_dns_cache() {
114-
if [ "$osmajor" -le 8 ]; then
115-
killall -HUP mDNSResponder 2>/dev/null
116-
elif [ "$osmajor" = 9 ]; then
117+
if ["$osmajor" -ge 11 ]; then
117118
dscacheutil -flushcache 2>/dev/null
118-
killall -HUP mDNSResponder 2>/dev/null
119-
elif [ "$osmajor" = 10 ]; then
120-
osminor=$(echo "$osversion" | awk -F. '{print $3}')
121-
if [ "$osminor" -le 3 ]; then
122-
discoveryutil mdnsflushcache 2>/dev/null
123-
discoveryutil udnsflushcaches 2>/dev/null
124-
else
119+
else
120+
if [ "$osminor" -le 8 ]; then
121+
killall -HUP mDNSResponder 2>/dev/null
122+
elif [ "$osminor" = 9 ]; then
125123
dscacheutil -flushcache 2>/dev/null
126124
killall -HUP mDNSResponder 2>/dev/null
127-
fi
128-
elif [ "$osmajor" = 11 ]; then
129-
dscacheutil -flushcache 2>/dev/null
130-
killall -HUP mDNSResponder 2>/dev/null
131-
elif [ "$osmajor" = 12 ]; then
132-
osminor=$(echo "$osversion" | awk -F. '{print $3}')
133-
if [ "$osminor" -le 2 ]; then
125+
elif [ "$osminor" = 10 ]; then
126+
if [ "$ospatch" -le 3 ]; then
127+
discoveryutil mdnsflushcache 2>/dev/null
128+
discoveryutil udnsflushcaches 2>/dev/null
129+
else
130+
dscacheutil -flushcache 2>/dev/null
131+
killall -HUP mDNSResponder 2>/dev/null
132+
fi
133+
elif [ "$osminor" = 11 ]; then
134+
dscacheutil -flushcache 2>/dev/null
134135
killall -HUP mDNSResponder 2>/dev/null
136+
elif [ "$osminor" = 12 ]; then
137+
if [ "$ospatch" -le 2 ]; then
138+
killall -HUP mDNSResponder 2>/dev/null
139+
else
140+
killall -HUP mDNSResponder 2>/dev/null
141+
killall mDNSResponderHelper 2>/dev/null
142+
dscacheutil -flushcache 2>/dev/null
143+
fi
135144
else
136145
killall -HUP mDNSResponder 2>/dev/null
137-
killall mDNSResponderHelper 2>/dev/null
138146
dscacheutil -flushcache 2>/dev/null
139147
fi
140-
else
141-
killall -HUP mDNSResponder 2>/dev/null
142-
dscacheutil -flushcache 2>/dev/null
143148
fi
144149
}
145150

0 commit comments

Comments
 (0)