From ca334b322b1daf6b39e91cfe94632d1d62a27e9e Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Wed, 1 Aug 2012 10:46:43 -0700 Subject: [PATCH] Have the scripts handle tickets --- CU2/common.inc | 2 +- CU2/handle-control-change.sh | 36 +++++++++++++++++++++++++++--------- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/CU2/common.inc b/CU2/common.inc index 09950ae..e5f082a 100644 --- a/CU2/common.inc +++ b/CU2/common.inc @@ -14,7 +14,7 @@ DNSCRYPT_FILE="${CONTROL_DIR}/dnscrypt" FAMILYSHIELD_FILE="${CONTROL_DIR}/familyshield" INSECURE_OPENDNS_FILE="${CONTROL_DIR}/insecure-opendns" FALLBACK_FILE="${CONTROL_DIR}/fallback" -HANDLERS_LOCK_FILE="/var/run/dnscrypt-handlers-lock" +HANDLERS_LOCK_FILE="/var/run/dnscrypt-handlers.lock" INTERFACE_UNBOUND="127.0.0.53" INTERFACE_UNBOUND_MASK="24" diff --git a/CU2/handle-control-change.sh b/CU2/handle-control-change.sh index e1a4b74..63a6de8 100755 --- a/CU2/handle-control-change.sh +++ b/CU2/handle-control-change.sh @@ -2,16 +2,34 @@ . ./common.inc -lockfile -1 -r 30 -l 60 "$HANDLERS_LOCK_FILE" || exit 1 +PROCESSED_TICKETS_FILE="${STATES_DIR}/processed-tickets" + +update() { + lockfile -1 -r 30 -l 60 "$HANDLERS_LOCK_FILE" || exit 1 + + + if [ -e "$DNSCRYPT_FILE" ]; then + ./switch-to-dnscrypt-if-required.sh + else + ./stop-dnscrypt-proxy.sh + ./switch-to-dhcp-if-required.sh + fi + + rm -f "$HANDLERS_LOCK_FILE" +} touch "${STATES_DIR}/updating" -if [ -e "$DNSCRYPT_FILE" ]; then - ./switch-to-dnscrypt-if-required.sh -else - ./stop-dnscrypt-proxy.sh - ./switch-to-dhcp-if-required.sh -fi + +while :; do + find "$TICKETS_DIR" -type f -name 'ticket-*' > "$PROCESSED_TICKETS_FILE" + update + if [ ! -s "$PROCESSED_TICKETS_FILE" ]; then + break + fi + while read ticket_file; do + rm -f "$ticket_file" + done < "$PROCESSED_TICKETS_FILE" +done + rm -f "${STATES_DIR}/updating" rm -f "${STATES_DIR}/update-request" - -rm -f "$HANDLERS_LOCK_FILE"