@@ -1768,7 +1768,7 @@ _inithttp() {
1768
1768
if [ -z " $ACME_HTTP_NO_REDIRECTS " ]; then
1769
1769
_ACME_CURL=" $_ACME_CURL -L "
1770
1770
fi
1771
- if [ " $DEBUG " ] && [ " $DEBUG " -ge " 2 " ]; then
1771
+ if [ " $DEBUG " ] && [ " $DEBUG " -ge 2 ]; then
1772
1772
_CURL_DUMP=" $( _mktemp) "
1773
1773
_ACME_CURL=" $_ACME_CURL --trace-ascii $_CURL_DUMP "
1774
1774
fi
@@ -1808,13 +1808,42 @@ _inithttp() {
1808
1808
1809
1809
}
1810
1810
1811
+ _HTTP_MAX_RETRY=8
1812
+
1811
1813
# body url [needbase64] [POST|PUT|DELETE] [ContentType]
1812
1814
_post () {
1813
1815
body=" $1 "
1814
1816
_post_url=" $2 "
1815
1817
needbase64=" $3 "
1816
1818
httpmethod=" $4 "
1817
1819
_postContentType=" $5 "
1820
+ _sleep_retry_sec=1
1821
+ _http_retry_times=0
1822
+ _hcode=0
1823
+ while [ " ${_http_retry_times} " -le " $_HTTP_MAX_RETRY " ]; do
1824
+ [ " $_http_retry_times " = " $_HTTP_MAX_RETRY " ]
1825
+ _lastHCode=" $? "
1826
+ _debug " Retrying post"
1827
+ _post_impl " $body " " $_post_url " " $needbase64 " " $httpmethod " " $_postContentType " " $_lastHCode "
1828
+ _hcode=" $? "
1829
+ _debug _hcode " $_hcode "
1830
+ if [ " $_hcode " = " 0" ]; then
1831
+ break
1832
+ fi
1833
+ _http_retry_times=$( _math $_http_retry_times + 1)
1834
+ _sleep $_sleep_retry_sec
1835
+ done
1836
+ return $_hcode
1837
+ }
1838
+
1839
+ # body url [needbase64] [POST|PUT|DELETE] [ContentType] [displayError]
1840
+ _post_impl () {
1841
+ body=" $1 "
1842
+ _post_url=" $2 "
1843
+ needbase64=" $3 "
1844
+ httpmethod=" $4 "
1845
+ _postContentType=" $5 "
1846
+ displayError=" $6 "
1818
1847
1819
1848
if [ -z " $httpmethod " ]; then
1820
1849
httpmethod=" POST"
@@ -1866,7 +1895,9 @@ _post() {
1866
1895
fi
1867
1896
_ret=" $? "
1868
1897
if [ " $_ret " != " 0" ]; then
1869
- _err " Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: $_ret "
1898
+ if [ -z " $displayError " ] || [ " $displayError " = " 0" ]; then
1899
+ _err " Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: $_ret "
1900
+ fi
1870
1901
if [ " $DEBUG " ] && [ " $DEBUG " -ge " 2" ]; then
1871
1902
_err " Here is the curl dump log:"
1872
1903
_err " $( cat " $_CURL_DUMP " ) "
@@ -1922,7 +1953,9 @@ _post() {
1922
1953
_debug " wget returns 8, the server returns a 'Bad request' response, lets process the response later."
1923
1954
fi
1924
1955
if [ " $_ret " != " 0" ]; then
1925
- _err " Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code: $_ret "
1956
+ if [ -z " $displayError " ] || [ " $displayError " = " 0" ]; then
1957
+ _err " Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code: $_ret "
1958
+ fi
1926
1959
fi
1927
1960
_sed_i " s/^ *//g" " $HTTP_HEADER "
1928
1961
else
@@ -1936,13 +1969,38 @@ _post() {
1936
1969
1937
1970
# url getheader timeout
1938
1971
_get () {
1972
+ url=" $1 "
1973
+ onlyheader=" $2 "
1974
+ t=" $3 "
1975
+ _sleep_retry_sec=1
1976
+ _http_retry_times=0
1977
+ _hcode=0
1978
+ while [ " ${_http_retry_times} " -le " $_HTTP_MAX_RETRY " ]; do
1979
+ [ " $_http_retry_times " = " $_HTTP_MAX_RETRY " ]
1980
+ _lastHCode=" $? "
1981
+ _debug " Retrying GET"
1982
+ _get_impl " $url " " $onlyheader " " $t " " $_lastHCode "
1983
+ _hcode=" $? "
1984
+ _debug _hcode " $_hcode "
1985
+ if [ " $_hcode " = " 0" ]; then
1986
+ break
1987
+ fi
1988
+ _http_retry_times=$( _math $_http_retry_times + 1)
1989
+ _sleep $_sleep_retry_sec
1990
+ done
1991
+ return $_hcode
1992
+ }
1993
+
1994
+ # url getheader timeout displayError
1995
+ _get_impl () {
1939
1996
_debug GET
1940
1997
url=" $1 "
1941
1998
onlyheader=" $2 "
1942
1999
t=" $3 "
2000
+ displayError=" $4 "
1943
2001
_debug url " $url "
1944
2002
_debug " timeout=$t "
1945
-
2003
+ _debug " displayError " " $displayError "
1946
2004
_inithttp
1947
2005
1948
2006
if [ " $_ACME_CURL " ] && [ " ${ACME_USE_WGET:- 0} " = " 0" ]; then
@@ -1961,7 +2019,9 @@ _get() {
1961
2019
fi
1962
2020
ret=$?
1963
2021
if [ " $ret " != " 0" ]; then
1964
- _err " Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: $ret "
2022
+ if [ -z " $displayError " ] || [ " $displayError " = " 0" ]; then
2023
+ _err " Please refer to https://curl.haxx.se/libcurl/c/libcurl-errors.html for error code: $ret "
2024
+ fi
1965
2025
if [ " $DEBUG " ] && [ " $DEBUG " -ge " 2" ]; then
1966
2026
_err " Here is the curl dump log:"
1967
2027
_err " $( cat " $_CURL_DUMP " ) "
@@ -1987,7 +2047,9 @@ _get() {
1987
2047
_debug " wget returns 8, the server returns a 'Bad request' response, lets process the response later."
1988
2048
fi
1989
2049
if [ " $ret " != " 0" ]; then
1990
- _err " Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code: $ret "
2050
+ if [ -z " $displayError " ] || [ " $displayError " = " 0" ]; then
2051
+ _err " Please refer to https://www.gnu.org/software/wget/manual/html_node/Exit-Status.html for error code: $ret "
2052
+ fi
1991
2053
fi
1992
2054
else
1993
2055
ret=$?
@@ -3925,7 +3987,7 @@ _ns_lookup_ali() {
3925
3987
}
3926
3988
3927
3989
_ns_is_available_dp () {
3928
- if _get " https://dns.alidns.com " " " 1 > /dev/null 2>&1 ; then
3990
+ if _get " https://doh.pub " " " 1 > /dev/null 2>&1 ; then
3929
3991
return 0
3930
3992
else
3931
3993
return 1
@@ -4145,6 +4207,10 @@ issue() {
4145
4207
if [ -z " $_ACME_IS_RENEW " ]; then
4146
4208
_initpath " $_main_domain " " $_key_length "
4147
4209
mkdir -p " $DOMAIN_PATH "
4210
+ else
4211
+ Le_OrderFinalize=" "
4212
+ Le_LinkOrder=" "
4213
+ Le_LinkCert=" "
4148
4214
fi
4149
4215
4150
4216
if _hasfield " $_web_roots " " $W_DNS " && [ -z " $FORCE_DNS_MANUAL " ]; then
@@ -4712,26 +4778,13 @@ $_authorizations_map"
4712
4778
return 1
4713
4779
fi
4714
4780
4715
- _debug " sleep 2 secs to verify"
4716
- sleep 2
4717
- _debug " checking"
4718
-
4719
- _send_signed_request " $uri "
4720
-
4721
- if [ " $? " != " 0" ]; then
4722
- _err " $d :Verify error:$response "
4723
- _clearupwebbroot " $_currentRoot " " $removelevel " " $token "
4724
- _clearup
4725
- _on_issue_err " $_post_hook " " $vlist "
4726
- return 1
4727
- fi
4728
4781
_debug2 original " $response "
4729
4782
4730
4783
response=" $( echo " $response " | _normalizeJson) "
4731
4784
_debug2 response " $response "
4732
4785
4733
4786
status=$( echo " $response " | _egrep_o ' "status":"[^"]*' | cut -d : -f 2 | tr -d ' "' )
4734
-
4787
+ _debug2 status " $status "
4735
4788
if _contains " $status " " invalid" ; then
4736
4789
error=" $( echo " $response " | _egrep_o ' "error":\{[^\}]*' ) "
4737
4790
_debug2 error " $error "
@@ -4763,17 +4816,29 @@ $_authorizations_map"
4763
4816
fi
4764
4817
4765
4818
if [ " $status " = " pending" ]; then
4766
- _info " Pending"
4819
+ _info " Pending, The CA is processing your order, please just wait. ( $waittimes / $MAX_RETRY_TIMES ) "
4767
4820
elif [ " $status " = " processing" ]; then
4768
- _info " Processing"
4821
+ _info " Processing, The CA is processing your order, please just wait. ( $waittimes / $MAX_RETRY_TIMES ) "
4769
4822
else
4770
4823
_err " $d :Verify error:$response "
4771
4824
_clearupwebbroot " $_currentRoot " " $removelevel " " $token "
4772
4825
_clearup
4773
4826
_on_issue_err " $_post_hook " " $vlist "
4774
4827
return 1
4775
4828
fi
4829
+ _debug " sleep 2 secs to verify again"
4830
+ sleep 2
4831
+ _debug " checking"
4776
4832
4833
+ _send_signed_request " $uri "
4834
+
4835
+ if [ " $? " != " 0" ]; then
4836
+ _err " $d :Verify error:$response "
4837
+ _clearupwebbroot " $_currentRoot " " $removelevel " " $token "
4838
+ _clearup
4839
+ _on_issue_err " $_post_hook " " $vlist "
4840
+ return 1
4841
+ fi
4777
4842
done
4778
4843
4779
4844
done
0 commit comments