mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-25 23:36:16 +02:00
"but doctor, I AM the untrusted store": nix doctor had wrong trustedness
This probably snuck in in a refactor using truthiness or so. The trustedness flag was having the optional fullness checked, rather than the actual contained trust level. Also adds some tests. ``` m1@6876551b-255d-4cb0-af02-8a4f17b27e2e ~ % nix store ping warning: 'nix store ping' is a deprecated alias for 'nix store info' Store URL: daemon Version: 2.20.4 Trusted: 0 m1@6876551b-255d-4cb0-af02-8a4f17b27e2e ~ % nix doctor warning: 'doctor' is a deprecated alias for 'config check' [PASS] PATH contains only one nix version. [PASS] All profiles are gcroots. [PASS] Client protocol matches store protocol. [INFO] You are trusted by store uri: daemon ```
This commit is contained in:
parent
fef952e258
commit
dea23c3c9b
3 changed files with 11 additions and 5 deletions
|
@ -145,10 +145,9 @@ struct CmdConfigCheck : StoreCommand
|
||||||
|
|
||||||
void checkTrustedUser(ref<Store> store)
|
void checkTrustedUser(ref<Store> store)
|
||||||
{
|
{
|
||||||
std::string_view trusted = store->isTrustedClient()
|
auto trustedMay = store->isTrustedClient();
|
||||||
? "trusted"
|
std::string_view trustedness = trustedMay ? (*trustedMay ? "trusted" : "not trusted") : "unknown trust";
|
||||||
: "not trusted";
|
checkInfo(fmt("You are %s by store uri: %s", trustedness, store->getUri()));
|
||||||
checkInfo(fmt("You are %s by store uri: %s", trusted, store->getUri()));
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,9 @@
|
||||||
source common.sh
|
source common.sh
|
||||||
|
|
||||||
|
store_uri="ssh://localhost?remote-store=$TEST_ROOT/other-store"
|
||||||
|
|
||||||
# Check that store info trusted doesn't yet work with ssh://
|
# Check that store info trusted doesn't yet work with ssh://
|
||||||
nix --store ssh://localhost?remote-store=$TEST_ROOT/other-store store info --json | jq -e 'has("trusted") | not'
|
nix --store "$store_uri" store info --json | jq -e 'has("trusted") | not'
|
||||||
|
|
||||||
|
# Suppress grumpiness about multiple nixes on PATH
|
||||||
|
(nix --store "$store_uri" doctor || true) 2>&1 | grep 'You are unknown trust'
|
||||||
|
|
|
@ -13,6 +13,8 @@ startDaemon
|
||||||
if isDaemonNewer "2.15pre0"; then
|
if isDaemonNewer "2.15pre0"; then
|
||||||
# Ensure that ping works trusted with new daemon
|
# Ensure that ping works trusted with new daemon
|
||||||
nix store info --json | jq -e '.trusted'
|
nix store info --json | jq -e '.trusted'
|
||||||
|
# Suppress grumpiness about multiple nixes on PATH
|
||||||
|
(nix doctor || true) 2>&1 | grep 'You are trusted by'
|
||||||
else
|
else
|
||||||
# And the the field is absent with the old daemon
|
# And the the field is absent with the old daemon
|
||||||
nix store info --json | jq -e 'has("trusted") | not'
|
nix store info --json | jq -e 'has("trusted") | not'
|
||||||
|
|
Loading…
Reference in a new issue