libp2p 0.46.13 → 0.46.14
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/dist/src/circuit-relay/utils.d.ts +1 -1
- package/dist/src/circuit-relay/utils.d.ts.map +1 -1
- package/dist/src/circuit-relay/utils.js +19 -21
- package/dist/src/circuit-relay/utils.js.map +1 -1
- package/dist/src/identify/consts.d.ts +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +1 -1
- package/src/circuit-relay/utils.ts +21 -22
- package/src/errors.ts +1 -1
- package/src/version.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CID } from 'multiformats/cid';
|
|
2
2
|
import type { Limit } from './pb/index.js';
|
|
3
3
|
import type { Stream } from '@libp2p/interface/connection';
|
|
4
|
-
export declare function createLimitedRelay(
|
|
4
|
+
export declare function createLimitedRelay(src: Stream, dst: Stream, abortSignal: AbortSignal, limit?: Limit): void;
|
|
5
5
|
/**
|
|
6
6
|
* Convert a namespace string into a cid
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAiC1D,wBAAgB,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CA0E3G;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAM5E"}
|
|
@@ -4,9 +4,9 @@ import { anySignal } from 'any-signal';
|
|
|
4
4
|
import { CID } from 'multiformats/cid';
|
|
5
5
|
import { sha256 } from 'multiformats/hashes/sha2';
|
|
6
6
|
import { codes } from '../errors.js';
|
|
7
|
-
import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js';
|
|
8
7
|
const log = logger('libp2p:circuit-relay:utils');
|
|
9
8
|
async function* countStreamBytes(source, limit) {
|
|
9
|
+
const limitBytes = limit.remaining;
|
|
10
10
|
for await (const buf of source) {
|
|
11
11
|
const len = BigInt(buf.byteLength);
|
|
12
12
|
if ((limit.remaining - len) < 0) {
|
|
@@ -21,13 +21,13 @@ async function* countStreamBytes(source, limit) {
|
|
|
21
21
|
catch (err) {
|
|
22
22
|
log.error(err);
|
|
23
23
|
}
|
|
24
|
-
throw new
|
|
24
|
+
throw new CodeError(`data limit of ${limitBytes} bytes exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED);
|
|
25
25
|
}
|
|
26
26
|
limit.remaining -= len;
|
|
27
27
|
yield buf;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
export function createLimitedRelay(src, dst, abortSignal, limit) {
|
|
31
31
|
function abortStreams(err) {
|
|
32
32
|
src.abort(err);
|
|
33
33
|
dst.abort(err);
|
|
@@ -35,20 +35,26 @@ const doRelay = (src, dst, abortSignal, limit) => {
|
|
|
35
35
|
}
|
|
36
36
|
const abortController = new AbortController();
|
|
37
37
|
const signal = anySignal([abortSignal, abortController.signal]);
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
let timeout;
|
|
39
|
+
if (limit?.duration != null) {
|
|
40
|
+
timeout = setTimeout(() => {
|
|
41
|
+
abortController.abort();
|
|
42
|
+
}, limit.duration);
|
|
43
|
+
}
|
|
41
44
|
let srcDstFinished = false;
|
|
42
45
|
let dstSrcFinished = false;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
let dataLimit;
|
|
47
|
+
if (limit?.data != null) {
|
|
48
|
+
dataLimit = {
|
|
49
|
+
remaining: limit.data
|
|
50
|
+
};
|
|
51
|
+
}
|
|
46
52
|
queueMicrotask(() => {
|
|
47
53
|
const onAbort = () => {
|
|
48
|
-
dst.abort(new CodeError(
|
|
54
|
+
dst.abort(new CodeError(`duration limit of ${limit?.duration} ms exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED));
|
|
49
55
|
};
|
|
50
56
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
51
|
-
void dst.sink(countStreamBytes(src.source, dataLimit))
|
|
57
|
+
void dst.sink(dataLimit == null ? src.source : countStreamBytes(src.source, dataLimit))
|
|
52
58
|
.catch(err => {
|
|
53
59
|
log.error('error while relaying streams src -> dst', err);
|
|
54
60
|
abortStreams(err);
|
|
@@ -64,10 +70,10 @@ const doRelay = (src, dst, abortSignal, limit) => {
|
|
|
64
70
|
});
|
|
65
71
|
queueMicrotask(() => {
|
|
66
72
|
const onAbort = () => {
|
|
67
|
-
src.abort(new CodeError(
|
|
73
|
+
src.abort(new CodeError(`duration limit of ${limit?.duration} ms exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED));
|
|
68
74
|
};
|
|
69
75
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
70
|
-
void src.sink(countStreamBytes(dst.source, dataLimit))
|
|
76
|
+
void src.sink(dataLimit == null ? dst.source : countStreamBytes(dst.source, dataLimit))
|
|
71
77
|
.catch(err => {
|
|
72
78
|
log.error('error while relaying streams dst -> src', err);
|
|
73
79
|
abortStreams(err);
|
|
@@ -81,14 +87,6 @@ const doRelay = (src, dst, abortSignal, limit) => {
|
|
|
81
87
|
}
|
|
82
88
|
});
|
|
83
89
|
});
|
|
84
|
-
};
|
|
85
|
-
export function createLimitedRelay(source, destination, abortSignal, limit) {
|
|
86
|
-
const dataLimit = limit?.data ?? BigInt(DEFAULT_DATA_LIMIT);
|
|
87
|
-
const durationLimit = limit?.duration ?? DEFAULT_DURATION_LIMIT;
|
|
88
|
-
doRelay(source, destination, abortSignal, {
|
|
89
|
-
data: dataLimit,
|
|
90
|
-
duration: durationLimit
|
|
91
|
-
});
|
|
92
90
|
}
|
|
93
91
|
/**
|
|
94
92
|
* Convert a namespace string into a cid
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/circuit-relay/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const PROTOCOL_VERSION = "ipfs/0.1.0";
|
|
2
|
-
export declare const AGENT_VERSION = "js-libp2p/0.46.
|
|
2
|
+
export declare const AGENT_VERSION = "js-libp2p/0.46.14";
|
|
3
3
|
export declare const MULTICODEC_IDENTIFY = "/ipfs/id/1.0.0";
|
|
4
4
|
export declare const MULTICODEC_IDENTIFY_PUSH = "/ipfs/id/push/1.0.0";
|
|
5
5
|
export declare const IDENTIFY_PROTOCOL_VERSION = "0.1.0";
|
package/dist/src/version.d.ts
CHANGED
package/dist/src/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "libp2p",
|
|
3
|
-
"version": "0.46.
|
|
3
|
+
"version": "0.46.14",
|
|
4
4
|
"description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/master/packages/libp2p#readme",
|
|
@@ -4,7 +4,6 @@ import { anySignal } from 'any-signal'
|
|
|
4
4
|
import { CID } from 'multiformats/cid'
|
|
5
5
|
import { sha256 } from 'multiformats/hashes/sha2'
|
|
6
6
|
import { codes } from '../errors.js'
|
|
7
|
-
import { DEFAULT_DATA_LIMIT, DEFAULT_DURATION_LIMIT } from './constants.js'
|
|
8
7
|
import type { Limit } from './pb/index.js'
|
|
9
8
|
import type { Stream } from '@libp2p/interface/connection'
|
|
10
9
|
import type { Source } from 'it-stream-types'
|
|
@@ -13,6 +12,8 @@ import type { Uint8ArrayList } from 'uint8arraylist'
|
|
|
13
12
|
const log = logger('libp2p:circuit-relay:utils')
|
|
14
13
|
|
|
15
14
|
async function * countStreamBytes (source: Source<Uint8Array | Uint8ArrayList>, limit: { remaining: bigint }): AsyncGenerator<Uint8Array | Uint8ArrayList, void, unknown> {
|
|
15
|
+
const limitBytes = limit.remaining
|
|
16
|
+
|
|
16
17
|
for await (const buf of source) {
|
|
17
18
|
const len = BigInt(buf.byteLength)
|
|
18
19
|
|
|
@@ -29,7 +30,7 @@ async function * countStreamBytes (source: Source<Uint8Array | Uint8ArrayList>,
|
|
|
29
30
|
log.error(err)
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
throw new
|
|
33
|
+
throw new CodeError(`data limit of ${limitBytes} bytes exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED)
|
|
33
34
|
}
|
|
34
35
|
|
|
35
36
|
limit.remaining -= len
|
|
@@ -37,7 +38,7 @@ async function * countStreamBytes (source: Source<Uint8Array | Uint8ArrayList>,
|
|
|
37
38
|
}
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
|
|
41
|
+
export function createLimitedRelay (src: Stream, dst: Stream, abortSignal: AbortSignal, limit?: Limit): void {
|
|
41
42
|
function abortStreams (err: Error): void {
|
|
42
43
|
src.abort(err)
|
|
43
44
|
dst.abort(err)
|
|
@@ -47,25 +48,33 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
47
48
|
const abortController = new AbortController()
|
|
48
49
|
const signal = anySignal([abortSignal, abortController.signal])
|
|
49
50
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
let timeout: ReturnType<typeof setTimeout> | undefined
|
|
52
|
+
|
|
53
|
+
if (limit?.duration != null) {
|
|
54
|
+
timeout = setTimeout(() => {
|
|
55
|
+
abortController.abort()
|
|
56
|
+
}, limit.duration)
|
|
57
|
+
}
|
|
53
58
|
|
|
54
59
|
let srcDstFinished = false
|
|
55
60
|
let dstSrcFinished = false
|
|
56
61
|
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
let dataLimit: { remaining: bigint } | undefined
|
|
63
|
+
|
|
64
|
+
if (limit?.data != null) {
|
|
65
|
+
dataLimit = {
|
|
66
|
+
remaining: limit.data
|
|
67
|
+
}
|
|
59
68
|
}
|
|
60
69
|
|
|
61
70
|
queueMicrotask(() => {
|
|
62
71
|
const onAbort = (): void => {
|
|
63
|
-
dst.abort(new CodeError(
|
|
72
|
+
dst.abort(new CodeError(`duration limit of ${limit?.duration} ms exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED))
|
|
64
73
|
}
|
|
65
74
|
|
|
66
75
|
signal.addEventListener('abort', onAbort, { once: true })
|
|
67
76
|
|
|
68
|
-
void dst.sink(countStreamBytes(src.source, dataLimit))
|
|
77
|
+
void dst.sink(dataLimit == null ? src.source : countStreamBytes(src.source, dataLimit))
|
|
69
78
|
.catch(err => {
|
|
70
79
|
log.error('error while relaying streams src -> dst', err)
|
|
71
80
|
abortStreams(err)
|
|
@@ -83,12 +92,12 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
83
92
|
|
|
84
93
|
queueMicrotask(() => {
|
|
85
94
|
const onAbort = (): void => {
|
|
86
|
-
src.abort(new CodeError(
|
|
95
|
+
src.abort(new CodeError(`duration limit of ${limit?.duration} ms exceeded`, codes.ERR_TRANSFER_LIMIT_EXCEEDED))
|
|
87
96
|
}
|
|
88
97
|
|
|
89
98
|
signal.addEventListener('abort', onAbort, { once: true })
|
|
90
99
|
|
|
91
|
-
void src.sink(countStreamBytes(dst.source, dataLimit))
|
|
100
|
+
void src.sink(dataLimit == null ? dst.source : countStreamBytes(dst.source, dataLimit))
|
|
92
101
|
.catch(err => {
|
|
93
102
|
log.error('error while relaying streams dst -> src', err)
|
|
94
103
|
abortStreams(err)
|
|
@@ -105,16 +114,6 @@ const doRelay = (src: Stream, dst: Stream, abortSignal: AbortSignal, limit: Requ
|
|
|
105
114
|
})
|
|
106
115
|
}
|
|
107
116
|
|
|
108
|
-
export function createLimitedRelay (source: Stream, destination: Stream, abortSignal: AbortSignal, limit?: Limit): void {
|
|
109
|
-
const dataLimit = limit?.data ?? BigInt(DEFAULT_DATA_LIMIT)
|
|
110
|
-
const durationLimit = limit?.duration ?? DEFAULT_DURATION_LIMIT
|
|
111
|
-
|
|
112
|
-
doRelay(source, destination, abortSignal, {
|
|
113
|
-
data: dataLimit,
|
|
114
|
-
duration: durationLimit
|
|
115
|
-
})
|
|
116
|
-
}
|
|
117
|
-
|
|
118
117
|
/**
|
|
119
118
|
* Convert a namespace string into a cid
|
|
120
119
|
*/
|
package/src/errors.ts
CHANGED
|
@@ -75,5 +75,5 @@ export enum codes {
|
|
|
75
75
|
ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS = 'ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS',
|
|
76
76
|
ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS = 'ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS',
|
|
77
77
|
ERR_CONNECTION_DENIED = 'ERR_CONNECTION_DENIED',
|
|
78
|
-
ERR_TRANSFER_LIMIT_EXCEEDED = 'ERR_TRANSFER_LIMIT_EXCEEDED'
|
|
78
|
+
ERR_TRANSFER_LIMIT_EXCEEDED = 'ERR_TRANSFER_LIMIT_EXCEEDED'
|
|
79
79
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = '0.46.
|
|
1
|
+
export const version = '0.46.14'
|
|
2
2
|
export const name = 'libp2p'
|