-
-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dns_namecheap submits invalid CAA records to the Namecheap API #3019
Comments
If this is a bug report, please upgrade to the latest code and try again: |
Tagging @EverPresent who seems to be the point of contact on dns_namecheap issues (#2107). |
Changing acme.sh/dnsapi/dns_namecheap.sh Line 211 in 71a5f0e
to _hostaddress=$(echo "$_host" | _egrep_o ' Address="[^"]*' | cut -d '"' -f 2 | recode html..ascii) fixes the issue for me, but this is more of a hacky workaround for users than it is a permanent solution for the project since it would add a dependency on |
Perhaps a more permanent solution would be to add some sort of HTML entity decoder into the main acme.sh script. |
I can confirm I have the same issue, did @EverPresent respond to you regarding this ? |
I have not had any correspondence with @EverPresent or any of the project's contributors or maintainers regarding this issue. |
I have attempted to apply the workaround you have posted however when I use it I get this error, /usr/local/pkg/acme/acme.sh: recode: not found & error Invalid Address |
You need to have recode installed. It's available on many platforms' package repositories.
|
@MaxwellCody Can you please show me the value of "$host" and the value of the result |
@Neilpang You can see those values in the main issue. Here they are: _host='<host HostId="206913321" Name="@" Type="CAA" Address="0 issue "letsencrypt.org"" MXPref="10" TTL="60" AssociatedAppTitle="" FriendlyName="" IsActive="true" IsDDNSEnabled="false" /' hostaddress='0 issue "letsencrypt.org"' The dns-namecheap script is pulling out data with undecoded XML entities (notice the instances of |
Just updated to 0.6.8_2 looks like CAA is now working, need to test a little more but so far so good! |
had the same problem and this worked for me too |
I just tested this, and the bug still exists. The hack workaround is functional. I ended up here by way of Proxmox, which is using the dns plugins from this project. |
please update to latest code and try again.
|
* change arvan api script * change Author name * change name actor * Updated --preferred-chain to issue ISRG properly To support different openssl crl2pkcs7 help cli format * dnsapi/pdns: also normalize json response in detecting root zone * Chain (acmesh-official#3408) * fix acmesh-official#3384 match the issuer to the root CA cert subject * fix format * fix acmesh-official#3384 * remove the alt files. acmesh-official#3384 * upgrade freebsd and solaris * duckdns - fix "integer expression expected" errors (acmesh-official#3397) * fix "integer expression expected" errors * duckdns fix * Update dns_duckdns.sh * Update dns_duckdns.sh * Implement smtp notify hook Support notifications via direct SMTP server connection. Uses Python (2.7.x or 3.4+) to communicate with SMTP server. * Make shfmt happy (I'm open to better ways of formatting the heredoc that embeds the Python script.) * Only save config if send is successful * Add instructions for reporting bugs * Prep for curl or Python; clean up SMTP_* variable usage * Implement curl version of smtp notify-hook * More than one blank line is an abomination, apparently I will not try to use whitespace to group code visually * Fix: Unifi deploy hook support Unifi Cloud Key (acmesh-official#3327) * fix: unifi deploy hook also update Cloud Key nginx certs When running on a Unifi Cloud Key device, also deploy to /etc/ssl/private/cloudkey.{crt,key} and reload nginx. This makes the new cert available for the Cloud Key management app running via nginx on port 443 (as well as the port 8443 Unifi Controller app the deploy hook already supported). Fixes acmesh-official#3326 * Improve settings documentation comments * Improve Cloud Key pre-flight error messaging * Fix typo * Add support for UnifiOS (Cloud Key Gen2) Since UnifiOS does not use the Java keystore (like a Unifi Controller or Cloud Key Gen1 deploy), this also reworks the settings validation and error messaging somewhat. * PR review fixes * Detect unsupported Cloud Key java keystore location * Don't try to restart inactive services (and remove extra spaces from reload command) * Clean up error messages and internal variables * Change to _getdeployconf/_savedeployconf * Switch from cp to cat to preserve file permissions * feat: add huaweicloud error handling * fix: fix freebsd and solaris * support openssl 3.0 fix acmesh-official#3399 * make the fix for rsa key only * Use PROJECT_NAME and VER for X-Mailer header Also add X-Mailer header to Python version * Add _clearaccountconf_mutable() * Rework read/save config to not save default values Add and use _readaccountconf_mutable_default and _saveaccountconf_mutable_default helpers to capture common default value handling. New approach also eliminates need for separate underscore-prefixed version of each conf var. * Implement _rfc2822_date helper * Clean email headers and warn on unsupported address format Just in case, make sure CR or NL don't end up in an email header. * Clarify _readaccountconf_mutable_default * Add Date email header in Python implementation * Use email.policy.default in Python 3 implementation Improves standards compatibility and utf-8 handling in Python 3.3-3.8. (email.policy.default becomes the default in Python 3.9.) * Prefer Python to curl when both available * Change default SMTP_SECURE to "tls" Secure by default. Also try to minimize configuration errors. (Many ESPs/ISPs require STARTTLS, and most support it.) * Update dns_dp.sh 没有encode中文字符会导致提交失败 * No need to include EC parameters explicitly with the private key. (they are embedded) * Fixes response handling and thereby allow issuing of subdomain certs * Adds comment * fix acmesh-official#3402 * dnsapi/ionos: Use POST instead of PATCH for adding TXT record The API now supports a POST route for adding records. Therefore checking for already existing records and including them in a PATCH request is no longer necessary. * fix acmesh-official#3433 * fix acmesh-official#3019 * fix format * Update dns_servercow.sh to support wildcard certs Updated dns_servercow.sh to support txt records with multiple entries. This supports wildcard certificates that require txt records with the same name and different contents. * Update dns_servercow.sh to support wildcard certs Updated dns_servercow.sh to support txt records with multiple entries. This supports wildcard certificates that require txt records with the same name and different contents. * fix acmesh-official#3312 * fix format * feat: add dns_porkbun * fix: prevent rate limit Co-authored-by: Vahid Fardi <[email protected]> Co-authored-by: neil <[email protected]> Co-authored-by: Gnought <[email protected]> Co-authored-by: manuel <[email protected]> Co-authored-by: jerrm <[email protected]> Co-authored-by: medmunds <[email protected]> Co-authored-by: Mike Edmunds <[email protected]> Co-authored-by: Easton Man <[email protected]> Co-authored-by: czeming <[email protected]> Co-authored-by: Geert Hendrickx <[email protected]> Co-authored-by: Kristian Johansson <[email protected]> Co-authored-by: Lukas Brocke <[email protected]> Co-authored-by: anom-human <[email protected]> Co-authored-by: neil <[email protected]> Co-authored-by: Quentin Dreyer <[email protected]>
I can confirm that using the Dev branch it works now. Thanks @Neilpang @MaxwellCody
|
* change arvan api script * change Author name * change name actor * Updated --preferred-chain to issue ISRG properly To support different openssl crl2pkcs7 help cli format * dnsapi/pdns: also normalize json response in detecting root zone * Chain (acmesh-official#3408) * fix acmesh-official#3384 match the issuer to the root CA cert subject * fix format * fix acmesh-official#3384 * remove the alt files. acmesh-official#3384 * upgrade freebsd and solaris * duckdns - fix "integer expression expected" errors (acmesh-official#3397) * fix "integer expression expected" errors * duckdns fix * Update dns_duckdns.sh * Update dns_duckdns.sh * Implement smtp notify hook Support notifications via direct SMTP server connection. Uses Python (2.7.x or 3.4+) to communicate with SMTP server. * Make shfmt happy (I'm open to better ways of formatting the heredoc that embeds the Python script.) * Only save config if send is successful * Add instructions for reporting bugs * Prep for curl or Python; clean up SMTP_* variable usage * Implement curl version of smtp notify-hook * More than one blank line is an abomination, apparently I will not try to use whitespace to group code visually * Fix: Unifi deploy hook support Unifi Cloud Key (acmesh-official#3327) * fix: unifi deploy hook also update Cloud Key nginx certs When running on a Unifi Cloud Key device, also deploy to /etc/ssl/private/cloudkey.{crt,key} and reload nginx. This makes the new cert available for the Cloud Key management app running via nginx on port 443 (as well as the port 8443 Unifi Controller app the deploy hook already supported). Fixes acmesh-official#3326 * Improve settings documentation comments * Improve Cloud Key pre-flight error messaging * Fix typo * Add support for UnifiOS (Cloud Key Gen2) Since UnifiOS does not use the Java keystore (like a Unifi Controller or Cloud Key Gen1 deploy), this also reworks the settings validation and error messaging somewhat. * PR review fixes * Detect unsupported Cloud Key java keystore location * Don't try to restart inactive services (and remove extra spaces from reload command) * Clean up error messages and internal variables * Change to _getdeployconf/_savedeployconf * Switch from cp to cat to preserve file permissions * feat: add huaweicloud error handling * fix: fix freebsd and solaris * support openssl 3.0 fix acmesh-official#3399 * make the fix for rsa key only * Use PROJECT_NAME and VER for X-Mailer header Also add X-Mailer header to Python version * Add _clearaccountconf_mutable() * Rework read/save config to not save default values Add and use _readaccountconf_mutable_default and _saveaccountconf_mutable_default helpers to capture common default value handling. New approach also eliminates need for separate underscore-prefixed version of each conf var. * Implement _rfc2822_date helper * Clean email headers and warn on unsupported address format Just in case, make sure CR or NL don't end up in an email header. * Clarify _readaccountconf_mutable_default * Add Date email header in Python implementation * Use email.policy.default in Python 3 implementation Improves standards compatibility and utf-8 handling in Python 3.3-3.8. (email.policy.default becomes the default in Python 3.9.) * Prefer Python to curl when both available * Change default SMTP_SECURE to "tls" Secure by default. Also try to minimize configuration errors. (Many ESPs/ISPs require STARTTLS, and most support it.) * Update dns_dp.sh 没有encode中文字符会导致提交失败 * No need to include EC parameters explicitly with the private key. (they are embedded) * Fixes response handling and thereby allow issuing of subdomain certs * Adds comment * fix acmesh-official#3402 * dnsapi/ionos: Use POST instead of PATCH for adding TXT record The API now supports a POST route for adding records. Therefore checking for already existing records and including them in a PATCH request is no longer necessary. * fix acmesh-official#3433 * fix acmesh-official#3019 * fix format * Update dns_servercow.sh to support wildcard certs Updated dns_servercow.sh to support txt records with multiple entries. This supports wildcard certificates that require txt records with the same name and different contents. * Update dns_servercow.sh to support wildcard certs Updated dns_servercow.sh to support txt records with multiple entries. This supports wildcard certificates that require txt records with the same name and different contents. * fix acmesh-official#3312 * fix format * feat: add dns_porkbun * fix: prevent rate limit Co-authored-by: Vahid Fardi <[email protected]> Co-authored-by: neil <[email protected]> Co-authored-by: Gnought <[email protected]> Co-authored-by: manuel <[email protected]> Co-authored-by: jerrm <[email protected]> Co-authored-by: medmunds <[email protected]> Co-authored-by: Mike Edmunds <[email protected]> Co-authored-by: Easton Man <[email protected]> Co-authored-by: czeming <[email protected]> Co-authored-by: Geert Hendrickx <[email protected]> Co-authored-by: Kristian Johansson <[email protected]> Co-authored-by: Lukas Brocke <[email protected]> Co-authored-by: anom-human <[email protected]> Co-authored-by: neil <[email protected]> Co-authored-by: Quentin Dreyer <[email protected]>
The dnsapi dns_namecheap sends invalid CAA records to the Namecheap API.
Steps to reproduce
Relevant logs
The API response signifying the invalid CAA record:
Elsewhere in the logs you can see the script is using data that has undecoded HTML entities. I reckon this is what's causing the issue:
The text was updated successfully, but these errors were encountered: