From e81c2636cee72af718e99fd98006fa9277de2a65 Mon Sep 17 00:00:00 2001 From: David Timber Date: Thu, 3 Sep 2020 11:38:09 +0930 Subject: * Impl: CNCP * [htbt] Use randomly generated number for SOLICIT request * Die on pth sync funcs only if debug build * Fix wrong use of pth_mutex_acquire(): use with event can result in failure * [htbt] Take "blackhole" fd as param * Remove unused include to reduce compile time * [htbt] Add const macro values for random msg_id gen * [resolv] Make prne_resolv_prm_t reusable * [resolv] Fix mem leak in proone-resolv * [resolv] Sanity check before returning prm so users don't have to worry about SEGFAULT * Add txtrec-*.sh for CNCP --- src/data/proto-test/txtrec-enc.sh | 19 ++++++++++++ src/data/proto-test/txtrec-set.sh | 61 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100755 src/data/proto-test/txtrec-enc.sh create mode 100755 src/data/proto-test/txtrec-set.sh (limited to 'src/data') diff --git a/src/data/proto-test/txtrec-enc.sh b/src/data/proto-test/txtrec-enc.sh new file mode 100755 index 0000000..0836f0f --- /dev/null +++ b/src/data/proto-test/txtrec-enc.sh @@ -0,0 +1,19 @@ +#!/bin/bash +if [ $# -lt 1 ]; then + echo "Usage: $0 " >&2 + exit 2 +fi + +set -e +cnt=0 +while true; do + rec="$(dd bs=189 count=1 status=none | base64 -w0)" + if [ -z "$rec" ]; then + break + fi + + printf "%08X%s %s\n" $cnt "$1" "$rec" + let "cnt += 1" +done + +printf "\n%08x%s\n" $cnt "$1" diff --git a/src/data/proto-test/txtrec-set.sh b/src/data/proto-test/txtrec-set.sh new file mode 100755 index 0000000..50bb07d --- /dev/null +++ b/src/data/proto-test/txtrec-set.sh @@ -0,0 +1,61 @@ +#!/bin/bash +set -e + +ARR_HOOKS=" + aws +" + +if [ $# -lt 2 ]; then + echo "Usage: $0 [TTL] +Hooks:" >&2 + for h in $ARR_HOOKS; do + echo -e "\t$h" + done + + exit 2 +fi + +HEAD_REC="$1" +HOOK="$2" +ZONE_ID="$3" +if [ -z "$4" ]; then + TTL=3600 +else + TTL="$4" +fi + +aws_param () { + cat << EOF +{ + "Changes": [ + { + "Action": "UPSERT", + "ResourceRecordSet": { + "Name": "$1", + "Type": "TXT", + "TTL": $TTL, + "ResourceRecords": [ + { "Value": "\"$2\"" } + ] + } + } + ] +} +EOF +} + +hook_aws () { + aws route53 change-resource-record-sets\ + --hosted-zone-id "$ZONE_ID"\ + --change-batch "$(aws_param "$1" "$2")" +} + +while read line; do + if [ -z "$line" ]; then + break; + fi + "hook_$HOOK" $line +done + +read line +"hook_$HOOK" "$HEAD_REC" "$line" -- cgit