File: update-root-hints.sh

package info (click to toggle)
knot-resolver 6.0.17-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,376 kB
  • sloc: javascript: 42,732; ansic: 40,311; python: 12,580; cpp: 2,121; sh: 1,988; xml: 193; makefile: 181
file content (28 lines) | stat: -rwxr-xr-x 649 bytes parent folder | download
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
#!/usr/bin/env bash
# SPDX-License-Identifier: GPL-3.0-or-later
set -o nounset -o xtrace

TEMP_FILE=/tmp/root.hints
HINTS_FILE=etc/root.hints

# download latest root hints
wget -O ${TEMP_FILE} https://www.internic.net/domain/named.root

# strip comments for diff
sed '/^;/d' ${TEMP_FILE} > ${TEMP_FILE}.clean
sed '/^;/d' ${HINTS_FILE} > ${HINTS_FILE}.clean

# check for changes
diff ${TEMP_FILE}.clean ${HINTS_FILE}.clean >/dev/null
CHANGED=$?

if [ $CHANGED -ne 0 ]; then
    # update root.hints
    mv ${TEMP_FILE} ${HINTS_FILE}
fi

# cleanup
rm -f ${TEMP_FILE} ${TEMP_FILE}.clean ${HINTS_FILE}.clean

# signal change with exit code
exit $CHANGED