@veilio-inc/cli 0.9.2 → 0.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +101 -23
- package/dist/args.d.ts +8 -0
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +14 -0
- package/dist/args.js.map +1 -1
- package/dist/client/blocks.d.ts.map +1 -1
- package/dist/client/blocks.js +2 -1
- package/dist/client/blocks.js.map +1 -1
- package/dist/client/fingerprint.d.ts +7 -0
- package/dist/client/fingerprint.d.ts.map +1 -0
- package/dist/client/fingerprint.js +25 -0
- package/dist/client/fingerprint.js.map +1 -0
- package/dist/client/maps.d.ts.map +1 -1
- package/dist/client/maps.js +32 -8
- package/dist/client/maps.js.map +1 -1
- package/dist/client/team-key-bootstrap.d.ts +4 -0
- package/dist/client/team-key-bootstrap.d.ts.map +1 -1
- package/dist/client/team-key-bootstrap.js +13 -1
- package/dist/client/team-key-bootstrap.js.map +1 -1
- package/dist/client/wording.d.ts +3 -1
- package/dist/client/wording.d.ts.map +1 -1
- package/dist/client/wording.js +23 -2
- package/dist/client/wording.js.map +1 -1
- package/dist/client/wrap-judge.d.ts +30 -0
- package/dist/client/wrap-judge.d.ts.map +1 -0
- package/dist/client/wrap-judge.js +59 -0
- package/dist/client/wrap-judge.js.map +1 -0
- package/dist/cloud-commands.d.ts +21 -1
- package/dist/cloud-commands.d.ts.map +1 -1
- package/dist/cloud-commands.js +344 -5
- package/dist/cloud-commands.js.map +1 -1
- package/dist/cloud.d.ts +8 -2
- package/dist/cloud.d.ts.map +1 -1
- package/dist/cloud.js +9 -2
- package/dist/cloud.js.map +1 -1
- package/dist/commands.d.ts +3 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +35 -10
- package/dist/commands.js.map +1 -1
- package/dist/flags.d.ts +14 -0
- package/dist/flags.d.ts.map +1 -1
- package/dist/flags.js +40 -0
- package/dist/flags.js.map +1 -1
- package/dist/git-index.d.ts +8 -0
- package/dist/git-index.d.ts.map +1 -0
- package/dist/git-index.js +161 -0
- package/dist/git-index.js.map +1 -0
- package/dist/hashed-bases.d.ts +6 -1
- package/dist/hashed-bases.d.ts.map +1 -1
- package/dist/hashed-bases.js +16 -3
- package/dist/hashed-bases.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +29 -19
- package/dist/index.js.map +1 -1
- package/dist/key-pins.d.ts +46 -0
- package/dist/key-pins.d.ts.map +1 -0
- package/dist/key-pins.js +165 -0
- package/dist/key-pins.js.map +1 -0
- package/dist/reservations.d.ts +6 -4
- package/dist/reservations.d.ts.map +1 -1
- package/dist/reservations.js +19 -21
- package/dist/reservations.js.map +1 -1
- package/dist/staged-blobs.d.ts +21 -0
- package/dist/staged-blobs.d.ts.map +1 -0
- package/dist/staged-blobs.js +150 -0
- package/dist/staged-blobs.js.map +1 -0
- package/dist/store.d.ts +39 -0
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +243 -24
- package/dist/store.js.map +1 -1
- package/dist/team-unlock.d.ts +36 -0
- package/dist/team-unlock.d.ts.map +1 -1
- package/dist/team-unlock.js +25 -1
- package/dist/team-unlock.js.map +1 -1
- package/package.json +2 -2
package/dist/cloud-commands.js
CHANGED
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
import { existsSync } from 'node:fs';
|
|
10
10
|
import { dirname, join } from 'node:path';
|
|
11
11
|
import { homedir } from 'node:os';
|
|
12
|
-
import { CloudError, startDeviceLogin, exchangeDeviceCode, reservePlaceholders, getUserKeys, getTeamKeyWraps, getMyTeam, listMaps, listRules, request, } from './cloud.js';
|
|
12
|
+
import { CloudError, startDeviceLogin, exchangeDeviceCode, reservePlaceholders, getUserKeys, getTeamKeyWraps, getMe, getMyTeam, listMaps, listRules, request, } from './cloud.js';
|
|
13
13
|
import { unwrapTeamKey, exportTeamKey } from '@veilio-inc/engine';
|
|
14
14
|
import { ensureBlocks } from './client/blocks.js';
|
|
15
|
-
import { localDroppedNote, outOfRangeNote, reservationRefusedSentence, unvouchedNote, } from './reservations.js';
|
|
15
|
+
import { localDroppedNote, outOfRangeNote, printable, reservationRefusedSentence, unvouchedNote, } from './reservations.js';
|
|
16
16
|
import { resolveTeamNamespace, teamLayerNote } from './team-namespace.js';
|
|
17
17
|
import { readTeamUnlock, removeTeamUnlock, writeTeamUnlock, teamUnlockPath, expiryFrom, } from './team-unlock.js';
|
|
18
18
|
import { readCredential, readTeamRecord, removeCredential, writeCredential, writeTeamRecord, } from './credential.js';
|
|
19
19
|
import { mergeRules, purgeRules, removeRules, rulesPath, writeRules } from './rules.js';
|
|
20
20
|
import { openFetchedRules } from './rules-open.js';
|
|
21
|
-
import { teamKeyBytes, teamKeyVersion } from './hashed-bases.js';
|
|
21
|
+
import { teamKeyBytes, teamKeyUnconfirmed, teamKeyVersion } from './hashed-bases.js';
|
|
22
22
|
import { EXIT_ERROR, EXIT_OK } from './commands.js';
|
|
23
23
|
import { DEFAULT_INSTANCE } from './cloud.js';
|
|
24
24
|
import { createCloudMap, listCloudMaps, pullCloudMap, removeCloudMap, updateCloudMap, } from './client/maps.js';
|
|
@@ -26,6 +26,9 @@ import { refusal, renderRefusal, rulesSkippedSentences } from './client/wording.
|
|
|
26
26
|
import { bootstrapTeamKey, openOwnKeypair } from './client/team-key-bootstrap.js';
|
|
27
27
|
import { vaultLock, vaultUnlock } from './client/keys.js';
|
|
28
28
|
import { vaultKeyFor } from './client/vault-key.js';
|
|
29
|
+
import { fingerprint, sameFingerprint } from './client/fingerprint.js';
|
|
30
|
+
import { DELETED_GRANTER, granterIdentity, judgeWrap, wrapFrom } from './client/wrap-judge.js';
|
|
31
|
+
import { KeyPinsDamaged, blockedMark, confirmPin, confirmedKeys, pinOf, readPins, settleBlockedMark, } from './key-pins.js';
|
|
29
32
|
import { formatProjectsList, listTeamProjects, useProject, usedSentence, } from './client/projects.js';
|
|
30
33
|
import { PROJECT_ENV, overriddenSentence, projectOverride, } from './client/project-scope.js';
|
|
31
34
|
import { personalMapsKeyPath, removePersonalMapsKey } from './client/personal-maps-key.js';
|
|
@@ -608,7 +611,7 @@ export async function runRulesPull(io) {
|
|
|
608
611
|
* is present to type the passphrase. See `team-unlock.ts` for what is stored
|
|
609
612
|
* and why it is the team key rather than the vault key.
|
|
610
613
|
*/
|
|
611
|
-
export async function runTeamUnlock(io, days, mapPath) {
|
|
614
|
+
export async function runTeamUnlock(io, days, mapPath, forgetRefused = false) {
|
|
612
615
|
const credential = readCredential(io.home);
|
|
613
616
|
if (!credential) {
|
|
614
617
|
io.stderr('veilio: not signed in. Run `veilio login` first.\n');
|
|
@@ -655,6 +658,8 @@ export async function runTeamUnlock(io, days, mapPath) {
|
|
|
655
658
|
});
|
|
656
659
|
if (tried.status === 'readback_mismatch')
|
|
657
660
|
return refused(refusal('team_key_readback_mismatch'), io);
|
|
661
|
+
if (tried.status === 'recipient_key_changed')
|
|
662
|
+
return refused(refusal('recipient_key_changed'), io);
|
|
658
663
|
if (tried.status === 'refused') {
|
|
659
664
|
if (tried.reason && /owner or an admin/i.test(tried.reason))
|
|
660
665
|
return refused(refusal('team_key_not_startable', { detail: tried.reason }), io);
|
|
@@ -669,23 +674,143 @@ export async function runTeamUnlock(io, days, mapPath) {
|
|
|
669
674
|
minted = { version: tried.version };
|
|
670
675
|
({ wraps } = await getTeamKeyWraps(credential, teamId));
|
|
671
676
|
}
|
|
677
|
+
// Who made each wrap decides whether a map may be sealed under its key
|
|
678
|
+
// (spec 080 item 7a, `client/wrap-judge.ts`). Our own id is what rule 3
|
|
679
|
+
// needs; without it a wrap labelled as ours cannot be told from a first
|
|
680
|
+
// sighting, so nothing is judged at all.
|
|
681
|
+
const ownId = (await getMe(credential)).user?.id;
|
|
682
|
+
if (typeof ownId !== 'string' || ownId === '') {
|
|
683
|
+
io.stderr('veilio: Cloud did not say which account this is, so no team key was judged. Nothing was written.\n');
|
|
684
|
+
return EXIT_ERROR;
|
|
685
|
+
}
|
|
686
|
+
// Who is on the team now decides whether a confirmed key may be WRITTEN
|
|
687
|
+
// under, as in the web app; it never makes a key trusted. Unknown, it
|
|
688
|
+
// cannot be decided, so nothing is.
|
|
689
|
+
const roster = await teamRoster(credential, teamId);
|
|
690
|
+
if (!roster) {
|
|
691
|
+
io.stderr("veilio: Cloud did not list the team's members, so no team key was judged. Nothing was written.\n");
|
|
692
|
+
return EXIT_ERROR;
|
|
693
|
+
}
|
|
694
|
+
const teamName = roster.name ?? printable(teamId);
|
|
695
|
+
const pins = readPins(credential, io.home);
|
|
696
|
+
// The highest version refused before (spec 080 review): kept beside the
|
|
697
|
+
// pins, so a later answer leaving it out, a logout or `team lock` does
|
|
698
|
+
// not lift it. `--forget-refused` is the way out when the team really
|
|
699
|
+
// removed it. Unknown, nothing is stored.
|
|
700
|
+
const pinsDamaged = (err) => {
|
|
701
|
+
if (!(err instanceof KeyPinsDamaged))
|
|
702
|
+
throw err;
|
|
703
|
+
io.stderr(`veilio: ${err.path} is damaged, so no team key was stored. Move it aside and run \`veilio team unlock\` again.\n`);
|
|
704
|
+
return EXIT_ERROR;
|
|
705
|
+
};
|
|
706
|
+
let storedMark;
|
|
707
|
+
try {
|
|
708
|
+
storedMark = blockedMark(credential, teamId, io.home);
|
|
709
|
+
}
|
|
710
|
+
catch (err) {
|
|
711
|
+
return pinsDamaged(err);
|
|
712
|
+
}
|
|
713
|
+
const mark = forgetRefused ? undefined : storedMark;
|
|
672
714
|
const keys = [];
|
|
715
|
+
let refusedAny = false;
|
|
716
|
+
// The newest version not stored, for `blockedVersion`.
|
|
717
|
+
let notStored;
|
|
718
|
+
const skip = (version) => {
|
|
719
|
+
notStored = Math.max(notStored ?? version, version);
|
|
720
|
+
};
|
|
673
721
|
for (const wrap of wraps) {
|
|
722
|
+
let key;
|
|
674
723
|
try {
|
|
675
724
|
const teamKey = await unwrapTeamKey(wrap.wrapped_key, privateKey, {
|
|
676
725
|
teamId,
|
|
677
726
|
version: wrap.version,
|
|
678
727
|
myPublicKey,
|
|
679
728
|
});
|
|
680
|
-
|
|
729
|
+
key = await exportTeamKey(teamKey);
|
|
681
730
|
}
|
|
682
731
|
catch {
|
|
683
732
|
// A wrap this account cannot open — from a granter whose key has since
|
|
684
733
|
// changed, most likely. Skipped rather than fatal: another version may
|
|
685
734
|
// still open most of the team's maps, and none opening is reported below.
|
|
735
|
+
skip(wrap.version);
|
|
686
736
|
continue;
|
|
687
737
|
}
|
|
738
|
+
const from = wrapFrom(wrap.wrapped_key);
|
|
739
|
+
const judged = judgeWrap({
|
|
740
|
+
from,
|
|
741
|
+
wrappedBy: wrap.wrapped_by,
|
|
742
|
+
ownPublicKey: myPublicKey,
|
|
743
|
+
ownId,
|
|
744
|
+
pins,
|
|
745
|
+
});
|
|
746
|
+
if (judged.verdict === 'unreadable' || !from) {
|
|
747
|
+
skip(wrap.version);
|
|
748
|
+
continue;
|
|
749
|
+
}
|
|
750
|
+
if (judged.verdict === 'refused-impersonation') {
|
|
751
|
+
io.stderr(`Team "${teamName}": key version ${wrap.version} claims to come from your own key but does not. ` +
|
|
752
|
+
'It was not stored. Tell your team administrator and support@veilio.dev.\n');
|
|
753
|
+
refusedAny = true;
|
|
754
|
+
skip(wrap.version);
|
|
755
|
+
continue;
|
|
756
|
+
}
|
|
757
|
+
const granter = granterLabel(wrap.wrapped_by, roster.emails);
|
|
758
|
+
if (judged.verdict === 'refused-change') {
|
|
759
|
+
io.stderr(`Team "${teamName}": ${granter}'s key changed from ${await fingerprint(judged.pinned)} to ${await fingerprint(from)}. ` +
|
|
760
|
+
'This happens when they reset their key - or when someone else is posing as them. ' +
|
|
761
|
+
`Compare the new fingerprint with ${granter} before you run \`veilio team trust\`. ` +
|
|
762
|
+
'Until then nothing is written under this key.\n');
|
|
763
|
+
refusedAny = true;
|
|
764
|
+
skip(wrap.version);
|
|
765
|
+
continue;
|
|
766
|
+
}
|
|
767
|
+
const id = granterIdentity(from, wrap.wrapped_by);
|
|
768
|
+
const granterId = id.startsWith('key:') ? null : id;
|
|
769
|
+
// A key of our own writes whoever the server lists; anyone else's only
|
|
770
|
+
// while they are an active member (the web app's review 4).
|
|
771
|
+
const current = from === myPublicKey || (granterId !== null && roster.current.has(granterId));
|
|
772
|
+
keys.push({
|
|
773
|
+
version: wrap.version,
|
|
774
|
+
key,
|
|
775
|
+
granter: { id: granterId, publicKey: from, label: granter, current },
|
|
776
|
+
writable: judged.verdict === 'trusted' && current,
|
|
777
|
+
});
|
|
778
|
+
if (!current) {
|
|
779
|
+
io.stdout(`${formerMemberLine(teamName, wrap.version, granter)}\n`);
|
|
780
|
+
}
|
|
781
|
+
else if (judged.verdict === 'needs-review') {
|
|
782
|
+
const fp = await fingerprint(from);
|
|
783
|
+
io.stdout(`Team "${teamName}": key version ${wrap.version} was granted by ${granter} with key ${fp}. ` +
|
|
784
|
+
'You have not confirmed this key on this device, so Veilio can read with it but will not write under it. ' +
|
|
785
|
+
`Ask ${granter} for the key fingerprint Veilio shows them on their dashboard under "Your key fingerprint", ` +
|
|
786
|
+
`and if it matches, run: veilio team trust ${teamArg(teamName, teamId)} ${fp}\n`);
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
// Raised by what was refused now, kept from before, and lifted only by a
|
|
790
|
+
// version at least as new stored writable.
|
|
791
|
+
let high = notStored === undefined ? mark : Math.max(mark ?? notStored, notStored);
|
|
792
|
+
if (high !== undefined && keys.some((k) => k.writable && k.version >= high))
|
|
793
|
+
high = undefined;
|
|
794
|
+
// Settled against the file as it is now: what this run clears is only
|
|
795
|
+
// the mark it read, so a raise another unlock made meanwhile survives.
|
|
796
|
+
const clearUpTo = forgetRefused || high === undefined ? storedMark : undefined;
|
|
797
|
+
let settled;
|
|
798
|
+
try {
|
|
799
|
+
if (clearUpTo !== undefined || high !== undefined)
|
|
800
|
+
settled = settleBlockedMark(credential, teamId, { clearUpTo, raise: high }, io.home);
|
|
801
|
+
}
|
|
802
|
+
catch (err) {
|
|
803
|
+
return pinsDamaged(err);
|
|
688
804
|
}
|
|
805
|
+
const blockedVersion = settled !== undefined && settled > Math.max(...keys.map((k) => k.version))
|
|
806
|
+
? settled
|
|
807
|
+
: undefined;
|
|
808
|
+
if (blockedVersion !== undefined && notStored !== blockedVersion)
|
|
809
|
+
io.stdout(`Team "${teamName}": key version ${blockedVersion} was offered to this account before and not stored, so nothing is written under an older key. ` +
|
|
810
|
+
'If your team removed that version, run: veilio team unlock --forget-refused\n');
|
|
811
|
+
// Refused, not unopenable: the lines above said what to do instead.
|
|
812
|
+
if (keys.length === 0 && refusedAny)
|
|
813
|
+
return EXIT_ERROR;
|
|
689
814
|
if (keys.length === 0) {
|
|
690
815
|
io.stderr('veilio: none of the team key wraps held for this account could be opened. ' +
|
|
691
816
|
'Grant it again from the team page in the web app, then run `veilio team unlock` again.\n');
|
|
@@ -698,6 +823,8 @@ export async function runTeamUnlock(io, days, mapPath) {
|
|
|
698
823
|
instance: credential.instance,
|
|
699
824
|
account: credential.account,
|
|
700
825
|
teamId,
|
|
826
|
+
...(roster.name ? { teamName: roster.name } : {}),
|
|
827
|
+
...(blockedVersion !== undefined ? { blockedVersion } : {}),
|
|
701
828
|
expiresAt,
|
|
702
829
|
keys,
|
|
703
830
|
}, io.home);
|
|
@@ -732,6 +859,217 @@ export async function runTeamUnlock(io, days, mapPath) {
|
|
|
732
859
|
return reportCloudFailure(err, io);
|
|
733
860
|
}
|
|
734
861
|
}
|
|
862
|
+
/**
|
|
863
|
+
* The team's name, its members' addresses (for the messages) and who is an
|
|
864
|
+
* active member now (for writing only: never an input to whether a key is
|
|
865
|
+
* trusted, spec 080 item 7a). Null when it cannot be read, or is another
|
|
866
|
+
* team's.
|
|
867
|
+
*/
|
|
868
|
+
async function teamRoster(credential, teamId) {
|
|
869
|
+
const emails = new Map();
|
|
870
|
+
const current = new Set();
|
|
871
|
+
try {
|
|
872
|
+
const team = (await getMyTeam(credential)).team;
|
|
873
|
+
if (team?.id !== teamId)
|
|
874
|
+
return null;
|
|
875
|
+
for (const m of team.members ?? []) {
|
|
876
|
+
const { user_id, email, status } = (m ?? {});
|
|
877
|
+
if (typeof user_id !== 'string')
|
|
878
|
+
continue;
|
|
879
|
+
if (typeof email === 'string')
|
|
880
|
+
emails.set(user_id, printable(email));
|
|
881
|
+
if (status === 'active')
|
|
882
|
+
current.add(user_id);
|
|
883
|
+
}
|
|
884
|
+
// The server's words, printed to a terminal and kept for later messages:
|
|
885
|
+
// no control, bidi or zero-width character survives (`printable`).
|
|
886
|
+
return {
|
|
887
|
+
name: typeof team.name === 'string' && team.name !== '' ? printable(team.name) : null,
|
|
888
|
+
emails,
|
|
889
|
+
current,
|
|
890
|
+
};
|
|
891
|
+
}
|
|
892
|
+
catch {
|
|
893
|
+
return null;
|
|
894
|
+
}
|
|
895
|
+
}
|
|
896
|
+
/** A key that reads and will not write: its granter is not on the team now. */
|
|
897
|
+
function formerMemberLine(teamName, version, granter) {
|
|
898
|
+
return (`Team "${teamName}": key version ${version} was granted by ${granter}, who is no longer in the team, ` +
|
|
899
|
+
'so Veilio can read with it but will not write under it.');
|
|
900
|
+
}
|
|
901
|
+
/** Who made a wrap, in words: their address, else their id. */
|
|
902
|
+
function granterLabel(wrappedBy, emails) {
|
|
903
|
+
if (wrappedBy === undefined || wrappedBy === DELETED_GRANTER)
|
|
904
|
+
return 'a deleted account';
|
|
905
|
+
return emails.get(wrappedBy) ?? printable(wrappedBy);
|
|
906
|
+
}
|
|
907
|
+
/** The team as `team trust` takes it, safe to copy into a shell: its name,
|
|
908
|
+
* else its id, when that is letters, digits, `.`, `_` and `-` (not first);
|
|
909
|
+
* else the id single-quoted. Both come from the server. */
|
|
910
|
+
export function teamArg(name, id) {
|
|
911
|
+
const plain = (s) => /^[\p{L}\p{N}][\p{L}\p{N}._-]*$/u.test(s);
|
|
912
|
+
if (plain(name))
|
|
913
|
+
return name;
|
|
914
|
+
const shown = printable(id);
|
|
915
|
+
return plain(shown) ? shown : `'${shown.replace(/'/g, "'\\''")}'`;
|
|
916
|
+
}
|
|
917
|
+
/**
|
|
918
|
+
* `veilio team trust <team> <fingerprint>` (spec 080 item 7a): a person has
|
|
919
|
+
* compared the fingerprint with the granter outside Veilio. Records the pin,
|
|
920
|
+
* then marks writable each stored key that granter made with that key. Reads
|
|
921
|
+
* and writes only this machine's files: nothing is asked of the server, which
|
|
922
|
+
* is the party this check exists to not believe.
|
|
923
|
+
*/
|
|
924
|
+
export async function runTeamTrust(team, typed, io) {
|
|
925
|
+
const credential = readCredential(io.home);
|
|
926
|
+
if (!credential) {
|
|
927
|
+
io.stderr('veilio: not signed in. Run `veilio login` first.\n');
|
|
928
|
+
return EXIT_ERROR;
|
|
929
|
+
}
|
|
930
|
+
if (!team || !typed) {
|
|
931
|
+
io.stderr('veilio: team trust needs the team and the fingerprint: veilio team trust <team> <fingerprint>\n');
|
|
932
|
+
return EXIT_ERROR;
|
|
933
|
+
}
|
|
934
|
+
const unlock = readTeamUnlock(credential, io.home);
|
|
935
|
+
const forTeam = unlock !== null && (team === unlock.teamId || team === unlock.teamName);
|
|
936
|
+
let match = null;
|
|
937
|
+
for (const k of forTeam ? unlock.keys : []) {
|
|
938
|
+
if (k.granter && sameFingerprint(typed, await fingerprint(k.granter.publicKey))) {
|
|
939
|
+
match = k.granter;
|
|
940
|
+
break;
|
|
941
|
+
}
|
|
942
|
+
}
|
|
943
|
+
if (!match) {
|
|
944
|
+
// Not on this machine - a changed key (row 4) is never stored. The wraps
|
|
945
|
+
// are asked for again; what makes one trusted is still the person's
|
|
946
|
+
// comparison of its fingerprint, recorded here, never the server's word.
|
|
947
|
+
const offered = await offeredWrap(credential, team, typed);
|
|
948
|
+
if (!offered) {
|
|
949
|
+
io.stderr(`No key for team "${printable(team)}" has the fingerprint ${printable(typed)}. ` +
|
|
950
|
+
'Check it for typos; run `veilio team unlock` to see the fingerprints offered.\n');
|
|
951
|
+
return EXIT_ERROR;
|
|
952
|
+
}
|
|
953
|
+
if (!confirmed(() => confirmPin(credential, offered.identity, offered.publicKey, io.home), io))
|
|
954
|
+
return EXIT_ERROR;
|
|
955
|
+
// The unlock judges every wrap again with the new pin and stores the key.
|
|
956
|
+
const code = await runTeamUnlock(io);
|
|
957
|
+
const after = readTeamUnlock(credential, io.home);
|
|
958
|
+
if (code === EXIT_OK && after)
|
|
959
|
+
await printConfirmed(after, offered.publicKey, io, false);
|
|
960
|
+
return code;
|
|
961
|
+
}
|
|
962
|
+
const identity = granterIdentity(match.publicKey, match.id);
|
|
963
|
+
if (!confirmed(() => confirmPin(credential, identity, match.publicKey, io.home), io))
|
|
964
|
+
return EXIT_ERROR;
|
|
965
|
+
const accepted = confirmedKeys(pinOf(readPins(credential, io.home), identity));
|
|
966
|
+
// Re-judged: what this granter made with a key now confirmed may be written
|
|
967
|
+
// under. Nothing becomes unwritable - a confirmation keeps the earlier keys.
|
|
968
|
+
const keys = unlock.keys.map((k) => k.granter &&
|
|
969
|
+
k.granter.current === true &&
|
|
970
|
+
granterIdentity(k.granter.publicKey, k.granter.id) === identity &&
|
|
971
|
+
accepted.includes(k.granter.publicKey)
|
|
972
|
+
? { ...k, writable: true }
|
|
973
|
+
: k);
|
|
974
|
+
const updated = { ...unlock, keys };
|
|
975
|
+
writeTeamUnlock(updated, io.home);
|
|
976
|
+
await printConfirmed(updated, match.publicKey, io, true);
|
|
977
|
+
return EXIT_OK;
|
|
978
|
+
}
|
|
979
|
+
/** Run a pin write; a damaged key-pins.json is said, never thrown. */
|
|
980
|
+
function confirmed(write, io) {
|
|
981
|
+
try {
|
|
982
|
+
write();
|
|
983
|
+
return true;
|
|
984
|
+
}
|
|
985
|
+
catch (err) {
|
|
986
|
+
if (!(err instanceof KeyPinsDamaged))
|
|
987
|
+
throw err;
|
|
988
|
+
io.stderr(`veilio: ${err.path} is damaged, so the key was not confirmed. Move it aside and run \`veilio team trust\` again.\n`);
|
|
989
|
+
return false;
|
|
990
|
+
}
|
|
991
|
+
}
|
|
992
|
+
/** Row 6 for each stored key made with `publicKey` that may now be written
|
|
993
|
+
* under; with `formerToo`, the read-only line for the others. */
|
|
994
|
+
async function printConfirmed(unlock, publicKey, io, formerToo) {
|
|
995
|
+
const teamName = printable(unlock.teamName ?? unlock.teamId);
|
|
996
|
+
const fp = await fingerprint(publicKey);
|
|
997
|
+
for (const k of unlock.keys) {
|
|
998
|
+
const g = k.granter;
|
|
999
|
+
if (g?.publicKey !== publicKey)
|
|
1000
|
+
continue;
|
|
1001
|
+
const who = typeof g.label === 'string'
|
|
1002
|
+
? printable(g.label)
|
|
1003
|
+
: g.id === null
|
|
1004
|
+
? 'a deleted account'
|
|
1005
|
+
: printable(g.id);
|
|
1006
|
+
if (k.writable)
|
|
1007
|
+
io.stdout(`Confirmed ${fp} for ${who} on this device. Team "${teamName}" key version ${k.version} can now be used to save maps.\n`);
|
|
1008
|
+
else if (formerToo)
|
|
1009
|
+
io.stdout(`${formerMemberLine(teamName, k.version, who)}\n`);
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
/**
|
|
1013
|
+
* The wrap Cloud holds for this account whose granter key has the typed
|
|
1014
|
+
* fingerprint, for the team named. Null when there is none, or Cloud cannot be
|
|
1015
|
+
* asked. Never one labelled as this account: that is rule 3's refusal, and
|
|
1016
|
+
* confirming it would pin the server's key under our own name.
|
|
1017
|
+
*/
|
|
1018
|
+
async function offeredWrap(credential, team, typed) {
|
|
1019
|
+
try {
|
|
1020
|
+
const teamId = (await listMaps(credential)).team?.id;
|
|
1021
|
+
if (!teamId)
|
|
1022
|
+
return null;
|
|
1023
|
+
const roster = await teamRoster(credential, teamId);
|
|
1024
|
+
if (team !== teamId && team !== roster?.name)
|
|
1025
|
+
return null;
|
|
1026
|
+
const ownId = (await getMe(credential)).user?.id;
|
|
1027
|
+
if (typeof ownId !== 'string' || ownId === '')
|
|
1028
|
+
return null;
|
|
1029
|
+
for (const wrap of (await getTeamKeyWraps(credential, teamId)).wraps) {
|
|
1030
|
+
const from = wrapFrom(wrap.wrapped_key);
|
|
1031
|
+
if (!from || wrap.wrapped_by === ownId)
|
|
1032
|
+
continue;
|
|
1033
|
+
if (sameFingerprint(typed, await fingerprint(from)))
|
|
1034
|
+
return { identity: granterIdentity(from, wrap.wrapped_by), publicKey: from };
|
|
1035
|
+
}
|
|
1036
|
+
return null;
|
|
1037
|
+
}
|
|
1038
|
+
catch {
|
|
1039
|
+
return null;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
/**
|
|
1043
|
+
* `veilio keys fingerprint` (spec 080 item 7a): what a teammate compares when
|
|
1044
|
+
* they confirm a key this account granted. The fingerprint of the public key
|
|
1045
|
+
* DERIVED from the private key the passphrase opens, never the server's copy
|
|
1046
|
+
* - a server that swapped it would otherwise make both sides agree, as the web
|
|
1047
|
+
* app's `OwnFingerprint` says.
|
|
1048
|
+
*/
|
|
1049
|
+
export async function runKeysFingerprint(io) {
|
|
1050
|
+
const credential = readCredential(io.home);
|
|
1051
|
+
if (!credential) {
|
|
1052
|
+
io.stderr('veilio: not signed in. Run `veilio login` first.\n');
|
|
1053
|
+
return EXIT_ERROR;
|
|
1054
|
+
}
|
|
1055
|
+
try {
|
|
1056
|
+
const mine = await getUserKeys(credential);
|
|
1057
|
+
if (!mine.initialized)
|
|
1058
|
+
return refused(refusal('keys_not_set_up'), io);
|
|
1059
|
+
const derived = await vaultKeyFor(credential, clientContext(io).passphrase);
|
|
1060
|
+
if (!derived.ok)
|
|
1061
|
+
return refused(derived.refusal, io);
|
|
1062
|
+
const own = await openOwnKeypair(derived.value, mine.privateKeyEncrypted, mine.publicKey);
|
|
1063
|
+
if (!own.ok)
|
|
1064
|
+
return refused(refusal('own_public_key_mismatch'), io);
|
|
1065
|
+
io.stdout(`Your key fingerprint: ${await fingerprint(own.publicKey)}. ` +
|
|
1066
|
+
'Teammates compare this when they confirm a key you granted.\n');
|
|
1067
|
+
return EXIT_OK;
|
|
1068
|
+
}
|
|
1069
|
+
catch (err) {
|
|
1070
|
+
return reportCloudFailure(err, io);
|
|
1071
|
+
}
|
|
1072
|
+
}
|
|
735
1073
|
/** Whether this account is its team's only member. Unknown counts as not:
|
|
736
1074
|
* the general wording is still true for a team of one, just less helpful. */
|
|
737
1075
|
async function isTeamOfOne(credential) {
|
|
@@ -894,6 +1232,7 @@ export async function teamNamespaceForScrub(home, env) {
|
|
|
894
1232
|
const r = await reservePlaceholders(credential, teamId, requests, undefined, {
|
|
895
1233
|
keys: teamKeyBytes(credential, home, teamId),
|
|
896
1234
|
keyVersion: teamKeyVersion(credential, home, teamId),
|
|
1235
|
+
unconfirmed: teamKeyUnconfirmed(credential, home, teamId),
|
|
897
1236
|
...(found.reservations ? { reservations: found.reservations } : {}),
|
|
898
1237
|
});
|
|
899
1238
|
if (r.refused)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloud-commands.js","sourceRoot":"","sources":["../src/cloud-commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cloud-commands.js","sourceRoot":"","sources":["../src/cloud-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cloud.d.ts
CHANGED
|
@@ -281,16 +281,19 @@ export declare function getMe(credential: Credential): Promise<{
|
|
|
281
281
|
};
|
|
282
282
|
}>;
|
|
283
283
|
/** Post a team-key wrap. Used here only to grant the team's first key to
|
|
284
|
-
* oneself; whether it is allowed is the server's decision.
|
|
284
|
+
* oneself; whether it is allowed is the server's decision. The server refuses
|
|
285
|
+
* (409) a wrap whose `recipientKeyFingerprint` is not the key now on file. */
|
|
285
286
|
export declare function grantTeamKey(credential: Credential, teamId: string, body: {
|
|
286
287
|
userId: string;
|
|
287
288
|
version: number;
|
|
288
289
|
wrappedKey: string;
|
|
290
|
+
recipientKeyFingerprint: string;
|
|
289
291
|
}): Promise<unknown>;
|
|
290
|
-
/** The account's team and its members
|
|
292
|
+
/** The account's team, its name and its members. */
|
|
291
293
|
export declare function getMyTeam(credential: Credential): Promise<{
|
|
292
294
|
team: {
|
|
293
295
|
id: string;
|
|
296
|
+
name?: unknown;
|
|
294
297
|
members?: unknown[];
|
|
295
298
|
} | null;
|
|
296
299
|
}>;
|
|
@@ -326,6 +329,9 @@ export declare function reservePlaceholders(credential: Credential, teamId: stri
|
|
|
326
329
|
/** The newest key's version (`teamKeyVersion`): a rule base is reserved
|
|
327
330
|
* only while the server's current version is this one. */
|
|
328
331
|
keyVersion?: number;
|
|
332
|
+
/** `teamKeyUnconfirmed`: the newest team key is not confirmed, so a rule
|
|
333
|
+
* base is refused, never hashed (spec 080 item 7a). */
|
|
334
|
+
unconfirmed?: string | null;
|
|
329
335
|
/** The team's reservations, when the caller has already read them;
|
|
330
336
|
* null when it asked and the instance keeps no record (404). */
|
|
331
337
|
reservations?: readonly PlaceholderReservation[] | null;
|