@libp2p/identify 4.1.5 → 4.1.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/dist/index.min.js +1 -1
- package/dist/index.min.js.map +3 -3
- package/dist/src/utils.d.ts +2 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +18 -7
- package/dist/src/utils.js.map +1 -1
- package/package.json +3 -3
- package/src/utils.ts +21 -7
package/dist/src/utils.d.ts
CHANGED
|
@@ -16,7 +16,8 @@ export declare const defaultValues: {
|
|
|
16
16
|
concurrency: number;
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
* Takes the `addr` and converts it to a Multiaddr if possible
|
|
19
|
+
* Takes the `addr` and converts it to a Multiaddr if possible, returning
|
|
20
|
+
* `undefined` for null/empty/malformed input or zero-byte multiaddrs (e.g. `/`).
|
|
20
21
|
*/
|
|
21
22
|
export declare function getCleanMultiaddr(addr: Uint8Array | string | null | undefined): Multiaddr | undefined;
|
|
22
23
|
export declare function consumeIdentifyMessage(peerStore: PeerStore, events: TypedEventTarget<Libp2pEvents>, log: Logger, connection: Connection, message: IdentifyMessage): Promise<IdentifyResult>;
|
package/dist/src/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,EAAE,UAAU,EAAkB,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACvK,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAA;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,EAAE,UAAU,EAAkB,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACvK,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,aAAa;;;;;;;;;;;CAWzB,CAAA;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAWtG;AAED,wBAAsB,sBAAsB,CAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CA0IlM;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,eAAe,CAwBnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CA+BlJ;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,8BAAsB,gBAAiB,YAAW,SAAS;IACzD,SAAgB,IAAI,EAAE;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IAED,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAA;IACxC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,OAAO,EAAE,OAAO,CAAA;IAC1B,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAQ;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IACzC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAA;IAC/C,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAA;IAClD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;gBAEjB,UAAU,EAAE,kBAAkB,EAAE,IAAI,EAAE,oBAAoB;IAsBvE,SAAS,IAAK,OAAO;IAIf,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAqBvB,IAAI,IAAK,OAAO,CAAC,IAAI,CAAC;IAM5B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAC1F"}
|
package/dist/src/utils.js
CHANGED
|
@@ -19,13 +19,20 @@ export const defaultValues = {
|
|
|
19
19
|
runOnLimitedConnection: true,
|
|
20
20
|
concurrency: MAX_PUSH_CONCURRENCY
|
|
21
21
|
};
|
|
22
|
+
function isEmptyMultiaddr(addr) {
|
|
23
|
+
return addr.bytes.length === 0;
|
|
24
|
+
}
|
|
22
25
|
/**
|
|
23
|
-
* Takes the `addr` and converts it to a Multiaddr if possible
|
|
26
|
+
* Takes the `addr` and converts it to a Multiaddr if possible, returning
|
|
27
|
+
* `undefined` for null/empty/malformed input or zero-byte multiaddrs (e.g. `/`).
|
|
24
28
|
*/
|
|
25
29
|
export function getCleanMultiaddr(addr) {
|
|
26
30
|
if (addr != null && addr.length > 0) {
|
|
27
31
|
try {
|
|
28
|
-
|
|
32
|
+
const ma = multiaddr(addr);
|
|
33
|
+
if (!isEmptyMultiaddr(ma)) {
|
|
34
|
+
return ma;
|
|
35
|
+
}
|
|
29
36
|
}
|
|
30
37
|
catch {
|
|
31
38
|
}
|
|
@@ -37,10 +44,13 @@ export async function consumeIdentifyMessage(peerStore, events, log, connection,
|
|
|
37
44
|
throw new InvalidMessageError('message was null or undefined');
|
|
38
45
|
}
|
|
39
46
|
const peer = {};
|
|
47
|
+
const listenAddrs = message.listenAddrs
|
|
48
|
+
.map(getCleanMultiaddr)
|
|
49
|
+
.filter((addr) => addr != null);
|
|
40
50
|
if (message.listenAddrs.length > 0) {
|
|
41
|
-
peer.addresses =
|
|
51
|
+
peer.addresses = listenAddrs.map(multiaddr => ({
|
|
42
52
|
isCertified: false,
|
|
43
|
-
multiaddr
|
|
53
|
+
multiaddr
|
|
44
54
|
}));
|
|
45
55
|
}
|
|
46
56
|
if (message.protocols.length > 0) {
|
|
@@ -96,14 +106,15 @@ export async function consumeIdentifyMessage(peerStore, events, log, connection,
|
|
|
96
106
|
}
|
|
97
107
|
// store the signed record for next time
|
|
98
108
|
peer.peerRecordEnvelope = peerRecordEnvelope;
|
|
109
|
+
const peerRecordMultiaddrs = peerRecord.multiaddrs.filter(addr => !isEmptyMultiaddr(addr));
|
|
99
110
|
// override the stored addresses with the signed multiaddrs
|
|
100
|
-
peer.addresses =
|
|
111
|
+
peer.addresses = peerRecordMultiaddrs.map(multiaddr => ({
|
|
101
112
|
isCertified: true,
|
|
102
113
|
multiaddr
|
|
103
114
|
}));
|
|
104
115
|
output = {
|
|
105
116
|
seq: peerRecord.seqNumber,
|
|
106
|
-
addresses:
|
|
117
|
+
addresses: peerRecordMultiaddrs
|
|
107
118
|
};
|
|
108
119
|
}
|
|
109
120
|
else {
|
|
@@ -129,7 +140,7 @@ export async function consumeIdentifyMessage(peerStore, events, log, connection,
|
|
|
129
140
|
protocolVersion: message.protocolVersion,
|
|
130
141
|
agentVersion: message.agentVersion,
|
|
131
142
|
publicKey: message.publicKey,
|
|
132
|
-
listenAddrs
|
|
143
|
+
listenAddrs,
|
|
133
144
|
observedAddr: message.observedAddr == null ? undefined : multiaddr(message.observedAddr),
|
|
134
145
|
protocols: message.protocols,
|
|
135
146
|
signedPeerRecord: output,
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC/H,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAM7D,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,IAAI;IACb,iBAAiB,EAAE,CAAC;IACpB,kBAAkB,EAAE,CAAC;IACrB,oBAAoB,EAAE,EAAE;IACxB,cAAc,EAAE,yBAAyB;IACzC,mBAAmB,EAAE,IAAI;IACzB,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,IAAI;IAC5B,WAAW,EAAE,oBAAoB;CAClC,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/identify",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.6",
|
|
4
4
|
"description": "Implementation of the Identify Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-identify#readme",
|
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@libp2p/crypto": "^5.1.18",
|
|
50
50
|
"@libp2p/interface": "^3.2.2",
|
|
51
|
-
"@libp2p/interface-internal": "^3.1.
|
|
51
|
+
"@libp2p/interface-internal": "^3.1.5",
|
|
52
52
|
"@libp2p/peer-id": "^6.0.9",
|
|
53
53
|
"@libp2p/peer-record": "^9.0.10",
|
|
54
|
-
"@libp2p/utils": "^7.2.
|
|
54
|
+
"@libp2p/utils": "^7.2.1",
|
|
55
55
|
"@multiformats/multiaddr": "^13.0.1",
|
|
56
56
|
"@multiformats/multiaddr-matcher": "^3.0.1",
|
|
57
57
|
"it-drain": "^3.0.10",
|
package/src/utils.ts
CHANGED
|
@@ -25,13 +25,21 @@ export const defaultValues = {
|
|
|
25
25
|
concurrency: MAX_PUSH_CONCURRENCY
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
function isEmptyMultiaddr (addr: Multiaddr): boolean {
|
|
29
|
+
return addr.bytes.length === 0
|
|
30
|
+
}
|
|
31
|
+
|
|
28
32
|
/**
|
|
29
|
-
* Takes the `addr` and converts it to a Multiaddr if possible
|
|
33
|
+
* Takes the `addr` and converts it to a Multiaddr if possible, returning
|
|
34
|
+
* `undefined` for null/empty/malformed input or zero-byte multiaddrs (e.g. `/`).
|
|
30
35
|
*/
|
|
31
36
|
export function getCleanMultiaddr (addr: Uint8Array | string | null | undefined): Multiaddr | undefined {
|
|
32
37
|
if (addr != null && addr.length > 0) {
|
|
33
38
|
try {
|
|
34
|
-
|
|
39
|
+
const ma = multiaddr(addr)
|
|
40
|
+
if (!isEmptyMultiaddr(ma)) {
|
|
41
|
+
return ma
|
|
42
|
+
}
|
|
35
43
|
} catch {
|
|
36
44
|
|
|
37
45
|
}
|
|
@@ -47,10 +55,14 @@ export async function consumeIdentifyMessage (peerStore: PeerStore, events: Type
|
|
|
47
55
|
|
|
48
56
|
const peer: PeerData = {}
|
|
49
57
|
|
|
58
|
+
const listenAddrs = message.listenAddrs
|
|
59
|
+
.map(getCleanMultiaddr)
|
|
60
|
+
.filter((addr): addr is Multiaddr => addr != null)
|
|
61
|
+
|
|
50
62
|
if (message.listenAddrs.length > 0) {
|
|
51
|
-
peer.addresses =
|
|
63
|
+
peer.addresses = listenAddrs.map(multiaddr => ({
|
|
52
64
|
isCertified: false,
|
|
53
|
-
multiaddr
|
|
65
|
+
multiaddr
|
|
54
66
|
}))
|
|
55
67
|
}
|
|
56
68
|
|
|
@@ -121,15 +133,17 @@ export async function consumeIdentifyMessage (peerStore: PeerStore, events: Type
|
|
|
121
133
|
// store the signed record for next time
|
|
122
134
|
peer.peerRecordEnvelope = peerRecordEnvelope
|
|
123
135
|
|
|
136
|
+
const peerRecordMultiaddrs = peerRecord.multiaddrs.filter(addr => !isEmptyMultiaddr(addr))
|
|
137
|
+
|
|
124
138
|
// override the stored addresses with the signed multiaddrs
|
|
125
|
-
peer.addresses =
|
|
139
|
+
peer.addresses = peerRecordMultiaddrs.map(multiaddr => ({
|
|
126
140
|
isCertified: true,
|
|
127
141
|
multiaddr
|
|
128
142
|
}))
|
|
129
143
|
|
|
130
144
|
output = {
|
|
131
145
|
seq: peerRecord.seqNumber,
|
|
132
|
-
addresses:
|
|
146
|
+
addresses: peerRecordMultiaddrs
|
|
133
147
|
}
|
|
134
148
|
} else {
|
|
135
149
|
log('%p did not send a signed peer record', connection.remotePeer)
|
|
@@ -160,7 +174,7 @@ export async function consumeIdentifyMessage (peerStore: PeerStore, events: Type
|
|
|
160
174
|
protocolVersion: message.protocolVersion,
|
|
161
175
|
agentVersion: message.agentVersion,
|
|
162
176
|
publicKey: message.publicKey,
|
|
163
|
-
listenAddrs
|
|
177
|
+
listenAddrs,
|
|
164
178
|
observedAddr: message.observedAddr == null ? undefined : multiaddr(message.observedAddr),
|
|
165
179
|
protocols: message.protocols,
|
|
166
180
|
signedPeerRecord: output,
|