Skip to content

Commit

Permalink
Merge pull request #3534 from acmesh-official/dev
Browse files Browse the repository at this point in the history
sync
  • Loading branch information
Neilpang committed Jun 2, 2021
2 parents 130e8db + d154118 commit 9293bcf
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 15 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/LetsEncrypt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ jobs:
TEST_LOCAL: 1
steps:
- uses: actions/checkout@v2
- uses: vmactions/[email protected].1
- uses: vmactions/[email protected].2
id: tunnel
with:
protocol: http
Expand All @@ -107,7 +107,7 @@ jobs:
TEST_LOCAL: 1
steps:
- uses: actions/checkout@v2
- uses: vmactions/[email protected].1
- uses: vmactions/[email protected].2
id: tunnel
with:
protocol: http
Expand Down
6 changes: 4 additions & 2 deletions acme.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2538,7 +2538,7 @@ _initAPI() {
response=$(_get "$_api_server")
if [ "$?" != "0" ]; then
_debug2 "response" "$response"
_err "Can not init api."
_err "Can not init api for: $_api_server."
return 1
fi
response=$(echo "$response" | _json_decode)
Expand Down Expand Up @@ -4132,7 +4132,9 @@ issue() {

_debug "Using ACME_DIRECTORY: $ACME_DIRECTORY"

_initAPI
if ! _initAPI; then
return 1
fi

if [ -f "$DOMAIN_CONF" ]; then
Le_NextRenewTime=$(_readdomainconf Le_NextRenewTime)
Expand Down
14 changes: 11 additions & 3 deletions deploy/synology_dsm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,12 @@ synology_dsm_deploy() {
_getdeployconf SYNO_Certificate
_debug SYNO_Certificate "${SYNO_Certificate:-}"

# shellcheck disable=SC1003 # We are not trying to escape a single quote
if printf "%s" "$SYNO_Certificate" | grep '\\'; then
_err "Do not use a backslash (\) in your certificate description"
return 1
fi

_base_url="$SYNO_Scheme://$SYNO_Hostname:$SYNO_Port"
_debug _base_url "$_base_url"

Expand Down Expand Up @@ -110,7 +116,9 @@ synology_dsm_deploy() {
_info "Getting certificates in Synology DSM"
response=$(_post "api=SYNO.Core.Certificate.CRT&method=list&version=1&_sid=$sid" "$_base_url/webapi/entry.cgi")
_debug3 response "$response"
id=$(echo "$response" | sed -n "s/.*\"desc\":\"$SYNO_Certificate\",\"id\":\"\([^\"]*\).*/\1/p")
escaped_certificate="$(printf "%s" "$SYNO_Certificate" | sed 's/\([].*^$[]\)/\\\1/g;s/"/\\\\"/g')"
_debug escaped_certificate "$escaped_certificate"
id=$(echo "$response" | sed -n "s/.*\"desc\":\"$escaped_certificate\",\"id\":\"\([^\"]*\).*/\1/p")
_debug2 id "$id"

if [ -z "$id" ] && [ -z "${SYNO_Create:-}" ]; then
Expand All @@ -119,7 +127,7 @@ synology_dsm_deploy() {
fi

# we've verified this certificate description is a thing, so save it
_savedeployconf SYNO_Certificate "$SYNO_Certificate"
_savedeployconf SYNO_Certificate "$SYNO_Certificate" "base64"

_info "Generate form POST request"
nl="\0015\0012"
Expand All @@ -129,7 +137,7 @@ synology_dsm_deploy() {
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"inter_cert\"; filename=\"$(basename "$_cca")\"${nl}Content-Type: application/octet-stream${nl}${nl}$(cat "$_cca")\0012"
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"id\"${nl}${nl}$id"
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"desc\"${nl}${nl}${SYNO_Certificate}"
if echo "$response" | sed -n "s/.*\"desc\":\"$SYNO_Certificate\",\([^{]*\).*/\1/p" | grep -- 'is_default":true' >/dev/null; then
if echo "$response" | sed -n "s/.*\"desc\":\"$escaped_certificate\",\([^{]*\).*/\1/p" | grep -- 'is_default":true' >/dev/null; then
_debug2 default "this is the default certificate"
content="$content${nl}--$delim${nl}Content-Disposition: form-data; name=\"as_default\"${nl}${nl}true"
else
Expand Down
10 changes: 5 additions & 5 deletions dnsapi/dns_1984hosting.sh
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ _1984hosting_login() {
password=$(printf '%s' "$One984HOSTING_Password" | _url_encode)
url="https://management.1984hosting.com/accounts/checkuserauth/"

response="$(_post "username=$username&password=$password&otpkey=" "$url")"
response="$(_post "username=$username&password=$password&otpkey=" $url)"
response="$(echo "$response" | _normalizeJson)"
_debug2 response "$response"

Expand Down Expand Up @@ -177,7 +177,6 @@ _check_cookie() {
fi

_authget "https://management.1984hosting.com/accounts/loginstatus/"
response="$(echo "$_response" | _normalizeJson)"
if _contains "$response" '"ok": true'; then
_debug "Cached cookie still valid"
return 0
Expand All @@ -194,7 +193,7 @@ _check_cookie() {
# _domain=domain.com
_get_root() {
domain="$1"
i=2
i=1
p=1
while true; do
h=$(printf "%s" "$domain" | cut -d . -f $i-100)
Expand All @@ -205,7 +204,7 @@ _get_root() {
fi

_authget "https://management.1984hosting.com/domains/soacheck/?zone=$h&nameserver=ns0.1984.is."
if _contains "$_response" "serial"; then
if _contains "$_response" "serial" && ! _contains "$_response" 'null}'; then
_sub_domain=$(printf "%s" "$domain" | cut -d . -f 1-$p)
_domain="$h"
return 0
Expand All @@ -219,7 +218,8 @@ _get_root() {
# add extra headers to request
_authget() {
export _H1="Cookie: $One984HOSTING_COOKIE"
_response=$(_get "$1")
_response=$(_get "$1" | _normalizeJson)
_debug2 _response "$_response"
}

# truncate huge HTML response
Expand Down
5 changes: 3 additions & 2 deletions dnsapi/dns_ionos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -149,14 +149,15 @@ _ionos_rest() {
response="$(_post "$data" "$IONOS_API$route" "" "$method" "application/json")"
else
export _H2="Accept: */*"

export _H3=
response="$(_get "$IONOS_API$route")"
fi

if [ "$?" != "0" ]; then
_err "Error $route"
_err "Error $route: $response"
return 1
fi
_debug2 "response" "$response"

return 0
}
2 changes: 1 addition & 1 deletion dnsapi/dns_porkbun.sh
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ _get_root() {

if _porkbun_rest POST "dns/retrieve/$h"; then
if _contains "$response" "\"status\":\"SUCCESS\""; then
_sub_domain="$(echo "$fulldomain" | sed "s/\\.$_domain\$//")"
_domain=$h
_sub_domain="$(echo "$fulldomain" | sed "s/\\.$_domain\$//")"
return 0
else
_debug "Go to next level of $_domain"
Expand Down

0 comments on commit 9293bcf

Please sign in to comment.