From f44041f0d55c1773b762bb3700a3fbb01ffd9403 Mon Sep 17 00:00:00 2001 From: cclohmar Date: Tue, 7 Jul 2026 18:51:01 +0100 Subject: [PATCH] debug: add CSRF token debug output --- deploy.sh | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/deploy.sh b/deploy.sh index 1372c73..4d0e04a 100755 --- a/deploy.sh +++ b/deploy.sh @@ -312,22 +312,28 @@ EOF FQDN="${SUB}.${DOMAIN}" CRT_FILE="$CERTS_DIR/${FQDN}.crt" [ -f "$CRT_FILE" ] || continue + # Three retries with fresh CSRF each time for TRY in 1 2 3; do rm -f /tmp/zc.txt - C=$(curl -s --max-time 5 -c /tmp/zc.txt "http://127.0.0.1:8000/login.html" 2>&1) - T=$(echo "$C" | grep 'zoraxy.csrf.Token' | sed 's/.*content="//;s/".*//') - if [ -z "$T" ]; then - echo " Retry $TRY for $FQDN (no CSRF)" + PAGE=$(curl -s --max-time 5 -c /tmp/zc.txt "http://127.0.0.1:8000/login.html" 2>&1) + TOKEN=$(echo "$PAGE" | grep 'zoraxy.csrf.Token' | sed 's/.*content="//;s/".*//') + if [ -z "$TOKEN" ]; then + echo " Retry $TRY for $FQDN (no CSRF token in page)" sleep 2 continue fi - R=$(curl -s --max-time 5 -b /tmp/zc.txt -X POST "http://127.0.0.1:8000/api/cert/upload?ktype=pub&domain=$FQDN" \ - -H "X-CSRF-Token: $T" --data-binary "@$CRT_FILE" 2>&1) || true + echo " Debug: token=${TOKEN:0:20}..." + R=$(curl -s --max-time 5 -b /tmp/zc.txt -X POST \ + -H "X-CSRF-Token: $TOKEN" \ + -H "Referer: http://127.0.0.1:8000/login.html" \ + -H "Origin: http://127.0.0.1:8000" \ + "http://127.0.0.1:8000/api/cert/upload?ktype=pub&domain=$FQDN" \ + --data-binary "@$CRT_FILE" 2>&1) || true if echo "$R" | grep -qi '"success"\|"ok"\|^{}$'; then echo " [OK] Cert registered: $FQDN" break else - echo " Retry $TRY for $FQDN: $(echo $R | head -c 80)" + echo " Retry $TRY for $FQDN: $(echo $R | head -c 100)" sleep 2 fi done