2022-01-11 08:20:01 -05:00
|
|
|
#!/usr/bin/env bash
|
2025-03-22 06:46:50 -04:00
|
|
|
# Copyright (C) CZ.NIC, z.s.p.o. and contributors
|
|
|
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
|
# For more information, see <https://www.knot-dns.cz/>
|
2022-01-11 08:20:01 -05:00
|
|
|
|
2023-02-07 11:49:39 -05:00
|
|
|
# This package is needed on Debian derived ditributions: libglib2.0-bin
|
|
|
|
|
|
2022-01-11 08:20:01 -05:00
|
|
|
cb() {
|
2022-01-31 08:42:20 -05:00
|
|
|
case "$1" in
|
|
|
|
|
zone_ksk_submission)
|
|
|
|
|
echo "Ready KSK for zone=${2} keytag=${3} keyid=${4}"
|
|
|
|
|
;;
|
2023-06-27 04:56:39 -04:00
|
|
|
keys_updated)
|
|
|
|
|
echo "Keys updated for zone=${2}"
|
|
|
|
|
;;
|
2022-01-31 08:42:20 -05:00
|
|
|
zone_updated)
|
|
|
|
|
echo "Updated zone=${2} to serial=${3}"
|
|
|
|
|
;;
|
2022-02-07 02:54:35 -05:00
|
|
|
zone_dnssec_invalid)
|
2023-12-20 08:06:55 -05:00
|
|
|
echo "Invalid DNSSEC for zone=${2} remaining=${3} seconds"
|
2022-02-07 02:54:35 -05:00
|
|
|
;;
|
2022-01-31 08:42:20 -05:00
|
|
|
started)
|
|
|
|
|
echo "Server started"
|
|
|
|
|
;;
|
|
|
|
|
stopped)
|
|
|
|
|
echo "Server stopped"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
2022-01-11 08:20:01 -05:00
|
|
|
}
|
|
|
|
|
|
2023-02-06 07:03:14 -05:00
|
|
|
awk="awk"
|
|
|
|
|
|
|
|
|
|
# If awk is mawk, turn off input buffering.
|
|
|
|
|
if ($awk -Wv 2>&1 | grep -q "mawk") && \
|
|
|
|
|
($awk -W interactive > /dev/null 2>&1); then
|
|
|
|
|
awk=${awk}" -W interactive"
|
|
|
|
|
fi
|
|
|
|
|
|
2022-01-11 08:20:01 -05:00
|
|
|
gdbus monitor --system --dest cz.nic.knotd --object-path /cz/nic/knotd \
|
2023-02-06 07:03:14 -05:00
|
|
|
| $awk '/^\/cz\/nic\/knotd/ {
|
2022-01-11 08:20:01 -05:00
|
|
|
gsub("cz.nic.knotd.events.", "", $2);
|
|
|
|
|
tmp="";
|
|
|
|
|
for(i=3;i<=NF;++i) {
|
|
|
|
|
if( $i ~ /[\),]$/ ) tmp=tmp$i;
|
|
|
|
|
}
|
2022-01-31 08:42:20 -05:00
|
|
|
gsub(/(^\()|(\)$)|\47/, "", tmp);
|
2022-01-31 07:34:04 -05:00
|
|
|
items=split(tmp, args, ",");
|
2022-01-11 08:20:01 -05:00
|
|
|
printf "%s ", $2;
|
2022-01-31 07:34:04 -05:00
|
|
|
for(i=1;i<=items;i++) printf "%s ", args[i];
|
2022-01-11 08:20:01 -05:00
|
|
|
print "";
|
|
|
|
|
fflush(stdout); }' \
|
|
|
|
|
| while read line; do \
|
|
|
|
|
cb ${line[@]}; \
|
|
|
|
|
done
|