zsh: sign_csr:207: read-only variable: status #489

Closed
opened 2025-12-29 01:26:07 +01:00 by adam · 1 comment
Owner

Originally created by @sevmonster on GitHub (Aug 9, 2020).

Renewing with zsh -x dehydrated -c gives this:

...
+http_request:65> cat /tmp/dehydrated-LpndBE
+http_request:66> rm -f /tmp/dehydrated-LpndBE
+http_request:67> rm -f /tmp/dehydrated-oDBfpK
+sign_csr:205> result='{"status": "valid", "expires": "2020-08-20T00:00:00Z", "identifiers": [{"type": "dns", "value": "*.example.com"}, {"type": "dns", "value": "example.com"}], "authorizations": ["https://acme-v02.api.letsencrypt.org/acme/authz-v3/12345", "https://acme-v02.api.letsencrypt.org/acme/authz-v3/67890"], "finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/1234567890/0987654321", "certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/a1b2c3d4e5f6a7b8c9d0"}'
+sign_csr:206> :
+sign_csr:207> status=+sign_csr:207> status=+sign_csr:207> get_json_string_value status
+sign_csr:207> echo '{"status": "valid", "expires": "2020-08-20T00:00:00Z", "identifiers": [{"type": "dns", "value": "*.example.com"}, {"type": "dns", "value": "example.com"}], "authorizations": ["https://acme-v02.api.letsencrypt.org/acme/authz-v3/12345", "https://acme-v02.api.letsencrypt.org/acme/authz-v3/67890"], "finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/1234567890/0987654321", "certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/a1b2c3d4e5f6a7b8c9d0"}'
+get_json_string_value:1> local filter
+get_json_string_value:2> filter=+get_json_string_value:2> printf 's/.*"%s": *"\([^"]*\)".*/\\1/p' status
+get_json_string_value:2> filter='s/.*"status": *"\([^"]*\)".*/\1/p'
+get_json_string_value:3> sed -n 's/.*"status": *"\([^"]*\)".*/\1/p'
+sign_csr:207> status=valid sign_csr:207: read-only variable: status

Config:

# dehydrated configuration
# INFO: Using main config file /etc/dehydrated/config
typeset -g CA=https://acme-v02.api.letsencrypt.org/directory
typeset -g CERTDIR=/etc/dehydrated/certs
typeset -g ALPNCERTDIR=/etc/dehydrated/alpn-certs
typeset -g CHALLENGETYPE=http-01
typeset -g DOMAINS_D=''
typeset -g DOMAINS_TXT=/etc/dehydrated/domains.txt
typeset -g HOOK=''
typeset -g HOOK_CHAIN=no
typeset -g RENEW_DAYS=30
typeset -g ACCOUNT_KEY=/etc/dehydrated/accounts/1234567890abcdef/account_key.pem
typeset -g ACCOUNT_KEY_JSON=/etc/dehydrated/accounts/1234567890abcdef/registration_info.json
typeset -g ACCOUNT_ID_JSON=/etc/dehydrated/accounts/1234567890abcdef/account_id.json
typeset -g KEYSIZE=4096
typeset -g WELLKNOWN=/etc/dehydrated/well-known
typeset -g PRIVATE_KEY_RENEW=yes
typeset -g OPENSSL_CNF=/etc/ssl/openssl.cnf
typeset -g CONTACT_EMAIL=webmaster@example.com
typeset -g LOCKFILE=/etc/dehydrated/lock
Originally created by @sevmonster on GitHub (Aug 9, 2020). Renewing with `zsh -x dehydrated -c` gives this: ``` ... +http_request:65> cat /tmp/dehydrated-LpndBE +http_request:66> rm -f /tmp/dehydrated-LpndBE +http_request:67> rm -f /tmp/dehydrated-oDBfpK +sign_csr:205> result='{"status": "valid", "expires": "2020-08-20T00:00:00Z", "identifiers": [{"type": "dns", "value": "*.example.com"}, {"type": "dns", "value": "example.com"}], "authorizations": ["https://acme-v02.api.letsencrypt.org/acme/authz-v3/12345", "https://acme-v02.api.letsencrypt.org/acme/authz-v3/67890"], "finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/1234567890/0987654321", "certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/a1b2c3d4e5f6a7b8c9d0"}' +sign_csr:206> : +sign_csr:207> status=+sign_csr:207> status=+sign_csr:207> get_json_string_value status +sign_csr:207> echo '{"status": "valid", "expires": "2020-08-20T00:00:00Z", "identifiers": [{"type": "dns", "value": "*.example.com"}, {"type": "dns", "value": "example.com"}], "authorizations": ["https://acme-v02.api.letsencrypt.org/acme/authz-v3/12345", "https://acme-v02.api.letsencrypt.org/acme/authz-v3/67890"], "finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/1234567890/0987654321", "certificate": "https://acme-v02.api.letsencrypt.org/acme/cert/a1b2c3d4e5f6a7b8c9d0"}' +get_json_string_value:1> local filter +get_json_string_value:2> filter=+get_json_string_value:2> printf 's/.*"%s": *"\([^"]*\)".*/\\1/p' status +get_json_string_value:2> filter='s/.*"status": *"\([^"]*\)".*/\1/p' +get_json_string_value:3> sed -n 's/.*"status": *"\([^"]*\)".*/\1/p' +sign_csr:207> status=valid sign_csr:207: read-only variable: status ``` Config: ``` # dehydrated configuration # INFO: Using main config file /etc/dehydrated/config typeset -g CA=https://acme-v02.api.letsencrypt.org/directory typeset -g CERTDIR=/etc/dehydrated/certs typeset -g ALPNCERTDIR=/etc/dehydrated/alpn-certs typeset -g CHALLENGETYPE=http-01 typeset -g DOMAINS_D='' typeset -g DOMAINS_TXT=/etc/dehydrated/domains.txt typeset -g HOOK='' typeset -g HOOK_CHAIN=no typeset -g RENEW_DAYS=30 typeset -g ACCOUNT_KEY=/etc/dehydrated/accounts/1234567890abcdef/account_key.pem typeset -g ACCOUNT_KEY_JSON=/etc/dehydrated/accounts/1234567890abcdef/registration_info.json typeset -g ACCOUNT_ID_JSON=/etc/dehydrated/accounts/1234567890abcdef/account_id.json typeset -g KEYSIZE=4096 typeset -g WELLKNOWN=/etc/dehydrated/well-known typeset -g PRIVATE_KEY_RENEW=yes typeset -g OPENSSL_CNF=/etc/ssl/openssl.cnf typeset -g CONTACT_EMAIL=webmaster@example.com typeset -g LOCKFILE=/etc/dehydrated/lock ```
adam closed this issue 2025-12-29 01:26:08 +01:00
Author
Owner

@lukas2511 commented on GitHub (Aug 9, 2020):

I just merged my working branch into the master branch, this should be fixed now

@lukas2511 commented on GitHub (Aug 9, 2020): I just merged my working branch into the master branch, this should be fixed now
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/dehydrated#489