@dotrino/vaultd 0.76.0 → 0.77.0
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/ctl.js +8 -1
- package/src/daemon.js +5 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.77.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Certificador personal de Dotrino: daemon headless que custodia la clave maestra y delega capacidades a tus dispositivos por el proxy. Tu CA propia.",
|
|
6
6
|
"bin": {
|
package/src/ctl.js
CHANGED
|
@@ -419,7 +419,14 @@ async function cmdJoin (rest) {
|
|
|
419
419
|
process.exit(2)
|
|
420
420
|
}
|
|
421
421
|
const qr = parseInvite(texto)
|
|
422
|
-
|
|
422
|
+
// QUÉ HACE FALTA DE VERDAD: el nonce de la sesión (`sn`) y una forma de alcanzar a la
|
|
423
|
+
// otra bóveda — la CITA del proxio (`conn`) en la invitación corta, o su llave (`iss`)
|
|
424
|
+
// en la larga. Quien la consume es `enrollDevice`, que sabe canjear la cita.
|
|
425
|
+
//
|
|
426
|
+
// Esto exigía `iss` SIEMPRE, y la invitación corta no lo lleva (la llave dejó de viajar
|
|
427
|
+
// cuando el QR se acortó, `lib/src/invite.js`). O sea que `join` rechazaba todas las
|
|
428
|
+
// invitaciones que emite `pair` hoy: el multivault entero no se podía montar.
|
|
429
|
+
if (!qr?.sn || !(qr?.conn || qr?.iss)) {
|
|
423
430
|
console.error('Esa invitación no se entiende. Pega la línea completa que imprime «dotrino-vault pair».')
|
|
424
431
|
process.exit(2)
|
|
425
432
|
}
|
package/src/daemon.js
CHANGED
|
@@ -791,7 +791,10 @@ export async function runDaemon () {
|
|
|
791
791
|
|
|
792
792
|
let qr = null
|
|
793
793
|
try { qr = parseInvite(texto) } catch (_) {}
|
|
794
|
-
|
|
794
|
+
// Lo mismo que `dotrino-vault join` (ver `ctl.js`): basta `sn` + la cita del proxio o
|
|
795
|
+
// la llave. Exigir `iss` dejaba fuera a la invitación corta, que es la única que emite
|
|
796
|
+
// `pair` hoy — así que este camino de despliegue no había forma de que funcionara.
|
|
797
|
+
if (!qr?.sn || !(qr?.conn || qr?.iss)) {
|
|
795
798
|
console.error('[vault] the invitation in DOTRINO_JOIN is not valid; ignoring it')
|
|
796
799
|
return
|
|
797
800
|
}
|
|
@@ -799,7 +802,7 @@ export async function runDaemon () {
|
|
|
799
802
|
const hecho = readJsonSafe(marca)
|
|
800
803
|
if (hecho?.sn === qr.sn) return // ya se usó: un reinicio no vuelve a pedir entrar
|
|
801
804
|
|
|
802
|
-
writeJson(marca, { at: Date.now(), sn: qr.sn, iss: qr.iss })
|
|
805
|
+
writeJson(marca, { at: Date.now(), sn: qr.sn, ...(qr.iss ? { iss: qr.iss } : {}) })
|
|
803
806
|
writeJson(path.join(dir, 'join-request.json'), {
|
|
804
807
|
qr,
|
|
805
808
|
label: 'bóveda',
|