@dotrino/vault 0.91.0 → 0.91.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/package.json +1 -1
- package/src/config.js +3 -3
- package/src/core/libVersion.js +1 -1
- package/src/core/secretsStore.js +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vault",
|
|
3
|
-
"version": "0.91.
|
|
3
|
+
"version": "0.91.1",
|
|
4
4
|
"description": "La bóveda de Dotrino como librería: el MISMO núcleo que el binario corriendo en el navegador (`@dotrino/vault/browser`), el mostrador de emparejamiento y el cliente de SERVICIO (Node): un proyecto se enrola una vez y jala sus credenciales del vault en vez del .env (`import '@dotrino/vault/config'`).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
package/src/config.js
CHANGED
|
@@ -31,17 +31,17 @@ const quiet = process.env.DOTRINO_ENV_QUIET === '1'
|
|
|
31
31
|
|
|
32
32
|
const { ns, injected, overridden } = await loadEnv({
|
|
33
33
|
onRetry: (e, ms) => {
|
|
34
|
-
if (!quiet) console.error('[dotrino-env] vault
|
|
34
|
+
if (!quiet) console.error('[dotrino-env] vault unavailable (%s); retrying in %ds…', e.message, Math.round(ms / 1000))
|
|
35
35
|
}
|
|
36
36
|
})
|
|
37
37
|
|
|
38
38
|
if (!quiet) {
|
|
39
|
-
console.error('[dotrino-env] %d
|
|
39
|
+
console.error('[dotrino-env] %d value(s) from ns "%s" loaded into process.env', injected.length, ns)
|
|
40
40
|
// Se dice en voz alta: que el vault haya tenido que pisar algo significa que
|
|
41
41
|
// en esta máquina hay un `.env` con valores viejos. Ganó el vault, pero el
|
|
42
42
|
// operador quiere enterarse — es la señal de que quedó basura por limpiar.
|
|
43
43
|
if (overridden.length) {
|
|
44
|
-
console.error('[dotrino-env]
|
|
44
|
+
console.error('[dotrino-env] overrode a previous environment value: %s', overridden.join(', '))
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
package/src/core/libVersion.js
CHANGED
package/src/core/secretsStore.js
CHANGED
|
@@ -525,14 +525,14 @@ export function openSecretsStore (disk, { sealer = null, recipients = null, sign
|
|
|
525
525
|
const [kind, k] = splitOwner(owner)
|
|
526
526
|
const bag = kind === 'ns' ? data.ns : data.dev
|
|
527
527
|
const g = (bag[k]?.keyring || []).find((x) => x.gen === gen)
|
|
528
|
-
if (!g) throw new Error(`putWrap:
|
|
528
|
+
if (!g) throw new Error(`putWrap: generation ${gen} of ${owner} does not exist`)
|
|
529
529
|
if (!wrap?.epk || !wrap?.iv || !wrap?.ct) throw new Error('putWrap: envoltura mal formada')
|
|
530
530
|
// SOLO AÑADE, NUNCA PISA. Quien re-envuelve es un servicio, y un servicio no
|
|
531
531
|
// administra: si pudiera reemplazar una envoltura existente podría dejar sin leer
|
|
532
532
|
// a otro miembro —o a quien administra— con una envoltura basura, y eso es
|
|
533
533
|
// denegación de servicio disfrazada de reparto. Reemplazar es cosa de la bóveda,
|
|
534
534
|
// por el camino de escribir (que estrena generación entera).
|
|
535
|
-
if (g.wraps?.[memberPub]) throw new Error(`putWrap: ${memberPub.slice(0, 12)}…
|
|
535
|
+
if (g.wraps?.[memberPub]) throw new Error(`putWrap: ${memberPub.slice(0, 12)}… already has a wrap for generation ${gen}`)
|
|
536
536
|
g.wraps = { ...(g.wraps || {}), [memberPub]: wrap }
|
|
537
537
|
save()
|
|
538
538
|
return true
|