Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
Acme.Sh
Commits
8a29fbc8
Commit
8a29fbc8
authored
Oct 28, 2016
by
neilpang
Browse files
do not register account if already registered
parent
00bcbd36
Changes
1
Hide whitespace changes
Inline
Side-by-side
acme.sh
View file @
8a29fbc8
...
...
@@ -1223,60 +1223,85 @@ _setopt() {
_debug2
"
$(
grep
-n
"^
$__opt$__sep
"
$__conf
)
"
}
#_savedomainconf key value
#save to domain.conf
_savedomainconf
()
{
_sdkey
=
"
$1
"
_sdvalue
=
"
$2
"
if
[
"
$DOMAIN_CONF
"
]
;
then
_setopt
"
$DOMAIN_CONF
"
"
$_sdkey
"
"="
"
\"
$_sdvalue
\"
"
#_save_conf file key value
#save to conf
_save_conf
()
{
_s_c_f
=
"
$1
"
_sdkey
=
"
$2
"
_sdvalue
=
"
$3
"
if
[
"
$_s_c_f
"
]
;
then
_setopt
"
$_s_c_f
"
"
$_sdkey
"
"="
"'
$_sdvalue
'"
else
_err
"
DOMAIN_CONF
is empty, can not save
$_sdkey
=
$_sdvalue
"
_err
"
config file
is empty, can not save
$_sdkey
=
$_sdvalue
"
fi
}
#_cleardomainconf key
_cleardomainconf
()
{
_sdkey
=
"
$1
"
if
[
"
$DOMAIN_CONF
"
]
;
then
_sed_i
"s/^
$_sdkey
.*
$/
/"
"
$DOMAIN_CONF
"
#_clear_conf file key
_clear_conf
()
{
_c_c_f
=
"
$1
"
_sdkey
=
"
$2
"
if
[
"
$_c_c_f
"
]
;
then
_sed_i
"s/^
$_sdkey
.*
$/
/"
"
$_c_c_f
"
else
_err
"
DOMAIN_CONF
is empty, can not
save
$_sdkey
=
$value
"
_err
"
config file
is empty, can not
clear
"
fi
}
#_readdomainconf key
_readdomainconf
()
{
_sdkey
=
"
$1
"
if
[
"
$DOMAIN_CONF
"
]
;
then
#_read_conf file key
_read_conf
()
{
_r_c_f
=
"
$1
"
_sdkey
=
"
$2
"
if
[
-f
"
$_r_c_f
"
]
;
then
(
eval
$(
grep
"^
$_sdkey
*="
"
$
DOMAIN_CONF
"
)
eval
$(
grep
"^
$_sdkey
*="
"
$
_r_c_f
"
)
eval
"printf
\"
%s
\"
\"\$
$_sdkey
\"
"
)
else
_err
"
DOMAIN_CONF
is empty, can not read
$_sdkey
"
_err
"
config file
is empty, can not read
$_sdkey
"
fi
}
#_savedomainconf key value
#save to domain.conf
_savedomainconf
()
{
_save_conf
"
$DOMAIN_CONF
"
"
$1
"
"
$2
"
}
#_cleardomainconf key
_cleardomainconf
()
{
_clear_conf
"
$DOMAIN_CONF
"
"
$1
"
}
#_readdomainconf key
_readdomainconf
()
{
_read_conf
"
$DOMAIN_CONF
"
"
$1
"
}
#_saveaccountconf key value
_saveaccountconf
()
{
_sckey
=
"
$1
"
_scvalue
=
"
$2
"
if
[
"
$ACCOUNT_CONF_PATH
"
]
;
then
_setopt
"
$ACCOUNT_CONF_PATH
"
"
$_sckey
"
"="
"'
$_scvalue
'"
else
_err
"ACCOUNT_CONF_PATH is empty, can not save
$_sckey
=
$_scvalue
"
fi
_save_conf
"
$ACCOUNT_CONF_PATH
"
"
$1
"
"
$2
"
}
#_clearaccountconf key
_clearaccountconf
()
{
_scvalue
=
"
$1
"
if
[
"
$ACCOUNT_CONF_PATH
"
]
;
then
_sed_i
"s/^
$_scvalue
.*
$/
/"
"
$ACCOUNT_CONF_PATH
"
else
_err
"ACCOUNT_CONF_PATH is empty, can not clear
$_scvalue
"
fi
_clear_conf
"
$ACCOUNT_CONF_PATH
"
"
$1
"
}
#_savecaconf key value
_savecaconf
()
{
_save_conf
"
$CA_CONF
"
"
$1
"
"
$2
"
}
#_readcaconf key
_readcaconf
()
{
_read_conf
"
$CA_CONF
"
"
$1
"
}
#_clearaccountconf key
_clearcaconf
()
{
_clear_conf
"
$CA_CONF
"
"
$1
"
}
# content localaddress
...
...
@@ -2047,6 +2072,10 @@ registeraccount() {
_regAccount
}
__calcAccountKeyHash
()
{
cat
"
$ACCOUNT_KEY_PATH
"
| _digest sha256
}
_regAccount
()
{
_initpath
...
...
@@ -2131,6 +2160,10 @@ _regAccount() {
fi
if
[
"
$code
"
=
'202'
]
;
then
_info
"Update success."
CA_KEY_HASH
=
"
$(
__calcAccountKeyHash
)
"
_debug
"Calc CA_KEY_HASH"
"
$CA_KEY_HASH
"
_savecaconf CA_KEY_HASH
"
$CA_KEY_HASH
"
else
_err
"Update account error."
return
1
...
...
@@ -2280,11 +2313,15 @@ issue() {
return
1
fi
if
!
_regAccount
;
then
_on_issue_err
return
1
fi
_saved_account_key_hash
=
"
$(
_readcaconf
"CA_KEY_HASH"
)
"
_debug2 _saved_account_key_hash
"
$_saved_account_key_hash
"
if
[
-z
"
$_saved_account_key_hash
"
]
||
[
"
$_saved_account_key_hash
"
!=
"
$(
__calcAccountKeyHash
)
"
]
;
then
if
!
_regAccount
;
then
_on_issue_err
return
1
fi
fi
if
[
-f
"
$CSR_PATH
"
]
&&
[
!
-f
"
$CERT_KEY_PATH
"
]
;
then
_info
"Signing from existing CSR."
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment