diff --git a/include/ejabberd_acme.hrl b/include/ejabberd_acme.hrl index 1164585e1..0fea5bdf5 100644 --- a/include/ejabberd_acme.hrl +++ b/include/ejabberd_acme.hrl @@ -16,12 +16,6 @@ pem :: binary() }). --record(data, { - account = none :: #data_acc{} | 'none', - certs = [] :: [#data_cert{}] - }). - - diff --git a/src/ejabberd_acme.erl b/src/ejabberd_acme.erl index 029f13edd..5d0608c93 100644 --- a/src/ejabberd_acme.erl +++ b/src/ejabberd_acme.erl @@ -401,19 +401,19 @@ is_error(_) -> false. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% data_empty() -> - #data{}. + []. -data_get_account(#data{account = Account}) -> - case Account of - #data_acc{id = AccId, key = PrivateKey} -> +data_get_account(Data) -> + case lists:keyfind(account, 1, Data) of + {account, #data_acc{id = AccId, key = PrivateKey}} -> {ok, AccId, PrivateKey}; - none -> + false -> none end. -data_set_account(Data = #data{}, {AccId, PrivateKey}) -> - NewAcc = #data_acc{id = AccId, key = PrivateKey}, - Data#data{account = NewAcc}. +data_set_account(Data, {AccId, PrivateKey}) -> + NewAcc = {account, #data_acc{id = AccId, key = PrivateKey}}, + lists:keystore(account, 1, Data, NewAcc). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%