segundo commit

This commit is contained in:
root 2025-11-06 19:19:45 +00:00
parent 6b8b75863a
commit d2e79d63a5
13601 changed files with 1117197 additions and 0 deletions

117
node_modules/ssb-server/test/caps.js generated vendored Normal file
View file

@ -0,0 +1,117 @@
var cont = require('cont')
var deepEqual = require('deep-equal')
var tape = require('tape')
var pull = require('pull-stream')
var ssbKeys = require('ssb-keys')
var u = require('./util')
// create 3 servers
// give them all pub servers (on localhost)
// and get them to follow each other...
var createSsbServer =
require('secret-stack')(require('./defaults'))
.use(require('ssb-db'))
.use(require('ssb-replicate'))
.use(require('ssb-friends'))
.use(require('ssb-gossip'))
.use(require('ssb-logging'))
var createHash = require('crypto').createHash
function hash (data) {
return createHash('sha256').update(data, 'utf8').digest()
}
var sign_cap1 = hash('test-sign-cap1')
var shs_cap1 = hash('test-shs-cap1')
var alice, bob, carol
var dbA = createSsbServer({
temp: 'server-alice',
port: 45451, timeout: 1400,
keys: alice = ssbKeys.generate(),
caps: {
shs: shs_cap1,
sign: sign_cap1
},
level: 'info'
})
//uses default caps, incompatible with above
var dbB = createSsbServer({
temp: 'server-bob',
port: 45452, timeout: 1400,
keys: bob = ssbKeys.generate(),
seeds: [dbA.getAddress()],
level: 'info'
})
//can connect to A
var dbC = createSsbServer({
temp: 'server-carol',
port: 45453, timeout: 1400,
keys: alice = ssbKeys.generate(),
caps: {
shs: shs_cap1,
sign: sign_cap1
},
level: 'info'
})
tape('signatures not accepted if made from different caps', function (t) {
dbA.publish({type: 'test', foo: true}, function (err, msg) {
if(err) throw err
console.log(msg)
dbB.add(msg.value, function (err) {
t.ok(err) //should not be valid in this universe
t.ok(/invalid/.test(err.message))
console.log(err.stack)
t.end()
})
})
})
tape('cannot connect if different shs caps, custom -> default', function (t) {
dbA.connect(dbB.getAddress(), function (err) {
t.ok(err)
console.log(err.stack)
t.end()
})
})
tape('cannot connect if different shs caps, default -> custom', function (t) {
dbB.connect(dbA.getAddress(), function (err) {
t.ok(err)
console.log(err.stack)
t.end()
})
})
tape('cannot connect if different shs caps, default -> custom', function (t) {
dbC.connect(dbA.getAddress(), function (err) {
if(err) throw err
t.end()
})
})
tape('cleanup', function (t) {
dbA.close()
dbB.close()
dbC.close()
t.end()
})