Reorder to avoid timeout

This commit is contained in:
Craig Everett 2017-12-08 23:09:37 +09:00
parent d9cd20a41f
commit 428f7e0565

10
zx
View File

@ -883,6 +883,11 @@ reject(PackageID = {Realm, _, _}) ->
resign(PackageString) ->
PackageID = {Realm, _, _} = package_id(PackageString),
RealmConf = load_realm_conf(Realm),
{package_keys, PackageKeys} = lists:keyfind(package_keys, 1, RealmConf),
KeySelection = [{K, {R, K}} || {R, K} <- [element(1, K) || K <- PackageKeys]],
PackageKeyID = select(KeySelection),
{ok, PackageKey} = loadkey(private, PackageKeyID),
Socket = connect_auth_or_die(Realm),
ok = send(Socket, {resign, PackageID}),
{ok, ZrpBin} = recv_or_die(Socket),
@ -895,11 +900,6 @@ resign(PackageString) ->
TgzFile = PackageString ++ ".tgz",
{TgzFile, TgzData} = lists:keyfind(TgzFile, 1, Files),
ok = verify(TgzData, Signature, PubKey),
RealmConf = load_realm_conf(Realm),
{package_keys, PackageKeys} = lists:keyfind(package_keys, 1, RealmConf),
KeySelection = [{K, {R, K}} || {R, K} <- [element(1, K) || K <- PackageKeys]],
PackageKeyID = select(KeySelection),
{ok, PackageKey} = loadkey(private, PackageKeyID),
ReSignature = public_key:sign(TgzData, sha512, PackageKey),
FinalMeta = maps:put(sig, {PackageKeyID, ReSignature}, Meta),
NewMetaBin = term_to_binary(FinalMeta),