challenger

OAuth 2.0-based authentication service that validates user can receive messages at a certain address
Log | Files | Refs | Submodules | README | LICENSE

commit cd679b8a9b37d754d34a27fa012190d7dccdd938
parent 466a4392e302c6ee23600686373f4b79d099f094
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 23 Nov 2025 17:12:02 +0100

challenger boxes the phone number in JSON, need to unbox before passing to helper scripts

Diffstat:
Msrc/challenger/challenger-send-sms-clicksend.sh | 10+++++-----
Msrc/challenger/challenger-send-sms-telesign.sh | 9+++++----
Msrc/challenger/challenger-send-sms.sh | 4++--
3 files changed, 12 insertions(+), 11 deletions(-)

diff --git a/src/challenger/challenger-send-sms-clicksend.sh b/src/challenger/challenger-send-sms-clicksend.sh @@ -77,7 +77,7 @@ do --user "$CLICKSEND_USERNAME:$CLICKSEND_API_KEY") echo "$STATUS_RESPONSE" >> "$TMPFILE" - + RESPONSE_CODE=$(echo "$RESPONSE" | jq -r '.response_code') if [ "$RESPONSE_CODE" != "SUCCESS" ]; @@ -85,7 +85,7 @@ do echo "Failed to get message status, assuming failure." 1>&2 exit 1 fi - + STATUS_CODE=$(echo "$STATUS_RESPONSE" | jq -r '.data.status_code') STATUS_TEXT=$(echo "$STATUS_RESPONSE" | jq -r '.data.status_text') STATUS=$(echo "$STATUS_TEXT" | awk --field-separator ':' '{print $1}') @@ -106,7 +106,7 @@ do sleep 120 ;; *) - # Unexpected status, keep trying + # Unexpected status, keep trying sleep 5 ;; esac @@ -126,9 +126,11 @@ do exit 1 ;; "FAILED"|"INVALID_RECIPIENT") + echo "Message delivery to $PHONE_NUMBER failed: $DESCRIPTION" 1>&2 exit 1 ;; *) + echo "Message delivery to $PHONE_NUMBER failed: $DESCRIPTION" 1>&2 sleep 5 ;; esac @@ -136,5 +138,3 @@ done echo "Unclear message delivery status $STATUS_CODE ($DESCRIPTION) after $MAX_ITERATIONS iterations. Assuming failure." 1>&2 exit 1 - - diff --git a/src/challenger/challenger-send-sms-telesign.sh b/src/challenger/challenger-send-sms-telesign.sh @@ -83,7 +83,8 @@ case "$STATUS_CODE" in ;; *) # Many possible status codes for failure... - echo "Message delivery failed: $STATUS_CODE" 1>&2 + echo "Message delivery to $PHONE_NUMBER failed: $STATUS_CODE" 1>&2 + echo "$RESPONSE" 1&>2 exit 1 ;; esac @@ -99,7 +100,7 @@ do --header "Authorization: Basic $TELESIGN_AUTH_TOKEN") echo "$STATUS_RESPONSE" >> "$TMPFILE" - + STATUS_CODE=$(echo "$STATUS_RESPONSE" | jq -r '.status.code') DESCRIPTION=$(echo "$STATUS_RESPONSE" | jq -r '.status.description') @@ -143,7 +144,8 @@ do ;; *) # Many possible status codes for failure... - echo "Message delivery failed: $STATUS_CODE" 1>&2 + echo "Message delivery to $PHONE_NUMBER failed: $STATUS_CODE" 1>&2 + echo "$RESPONSE" 1&>2 exit 1 ;; esac @@ -151,4 +153,3 @@ done echo "Unclear message delivery status $STATUS_CODE ($DESCRIPTION) after $MAX_ITERATIONS iterations. Assuming failure." 1>&2 exit 1 - diff --git a/src/challenger/challenger-send-sms.sh b/src/challenger/challenger-send-sms.sh @@ -5,7 +5,7 @@ set -eu if [ $# -ne 1 ] then - echo "Usage: $0 <phone_number>" 1>&2 + echo "Usage: $0 '{\"CONTACT_PHONE\":\"+4112345678\"}'" 1>&2 exit 1 fi @@ -13,7 +13,7 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SCRIPT_NAME=$(basename "$0") BASE="${SCRIPT_NAME%.sh}" -PHONE_NUMBER="$1" +PHONE_NUMBER=$(echo "$1" | jq -r .CONTACT_PHONE) MESSAGE=$(cat -) # List of sub-scripts to try.