@dotrino/vaultd 0.131.5 → 0.131.6
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/vault.js +11 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/vaultd",
|
|
3
|
-
"version": "0.131.
|
|
3
|
+
"version": "0.131.6",
|
|
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/vault.js
CHANGED
|
@@ -1577,15 +1577,22 @@ export async function startVault ({ dir = dataDir(), proxyUrl, log = console.log
|
|
|
1577
1577
|
|
|
1578
1578
|
/**
|
|
1579
1579
|
* PEDIDOS DE APROBACIÓN (aparatos marcados con `approval on`). Entran por `vault.secrets` con
|
|
1580
|
-
* `op: approvals | approve | deny`, firmados por un aparato
|
|
1581
|
-
* como `admin`, no se empareja: se concede a mano (`caps <ID> +aprueba`).
|
|
1582
|
-
*
|
|
1580
|
+
* `op: approvals | approve | deny`, firmados por un aparato al que el ACTA le da `approve`
|
|
1581
|
+
* — que, como `admin`, no se empareja: se concede a mano (`caps <ID> +aprueba`).
|
|
1582
|
+
*
|
|
1583
|
+
* DECIDE EL ACTA, NO EL PAPEL (dueño, 2026-09-26). El papel solo prueba que el aparato es
|
|
1584
|
+
* de esta bóveda y no está revocado; por eso no se le pide `vault:approve`. Pedírselo
|
|
1585
|
+
* contestaba `unauthorized: scope` a un teléfono SIN el permiso, el teléfono lo tomaba por
|
|
1586
|
+
* un papel atrasado, pedía renovarlo, y renovar firma con la maestra: con la bóveda
|
|
1587
|
+
* cerrada le llegaba «vault locked», que no era la causa. Ahora le llega `acta`, que sí lo
|
|
1588
|
+
* es. Y a uno CON el permiso ya no le hace falta renovar para aprobar: funciona con la
|
|
1589
|
+
* bóveda cerrada, como todos los aparatos.
|
|
1583
1590
|
*/
|
|
1584
1591
|
async function handleApproval (from, p) {
|
|
1585
1592
|
const op = p.data?.op
|
|
1586
1593
|
const chk = await verifyChain({
|
|
1587
1594
|
data: p.data, signature: p.signature, cert: p.cert,
|
|
1588
|
-
|
|
1595
|
+
...(await contextoActa()), revoked: await revocationSet()
|
|
1589
1596
|
})
|
|
1590
1597
|
if (!chk.ok) return denyChain(from, chk, p, 'approval')
|
|
1591
1598
|
const record = (await identity.profileActa?.().catch(() => null))?.acta
|