libp2p 2.5.1 → 2.5.2-34b3c14b8

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.
@@ -117,5 +117,14 @@ export declare class AddressManager implements AddressManagerInterface {
117
117
  removeDNSMapping(domain: string): void;
118
118
  addPublicAddressMapping(internalIp: string, internalPort: number, externalIp: string, externalPort?: number, protocol?: 'tcp' | 'udp'): void;
119
119
  removePublicAddressMapping(internalIp: string, internalPort: number, externalIp: string, externalPort?: number, protocol?: 'tcp' | 'udp'): void;
120
+ /**
121
+ * Where an external service (router, gateway, etc) is forwarding traffic to
122
+ * us, attempt to add an IP mapping for the external address - this will
123
+ * include the observed mapping in the address list where we also have a DNS
124
+ * mapping for the external IP.
125
+ *
126
+ * Returns true if we added a new mapping
127
+ */
128
+ private maybeUpgradeToIPMapping;
120
129
  }
121
130
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ import { isIPv4 } from '@chainsafe/is-ip';
3
3
  import { peerIdFromString } from '@libp2p/peer-id';
4
4
  import { debounce } from '@libp2p/utils/debounce';
5
5
  import { createScalableCuckooFilter } from '@libp2p/utils/filters';
6
+ import { isPrivateIp } from '@libp2p/utils/private-ip';
6
7
  import { multiaddr } from '@multiformats/multiaddr';
8
+ import { QUICV1, TCP, WebSockets, WebSocketsSecure } from '@multiformats/multiaddr-matcher';
7
9
  import { DNSMappings } from './dns-mappings.js';
8
10
  import { IPMappings } from './ip-mappings.js';
9
11
  import { ObservedAddresses } from './observed-addresses.js';
@@ -146,17 +148,36 @@ export class AddressManager {
146
148
  confirmObservedAddr(addr, options) {
147
149
  addr = stripPeerId(addr, this.components.peerId);
148
150
  let startingConfidence = true;
149
- if (options?.type === 'observed' || this.observed.has(addr)) {
150
- startingConfidence = this.observed.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
151
- }
152
151
  if (options?.type === 'transport' || this.transportAddresses.has(addr)) {
153
- startingConfidence = this.transportAddresses.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
152
+ const transportStartingConfidence = this.transportAddresses.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
153
+ if (!transportStartingConfidence && startingConfidence) {
154
+ startingConfidence = false;
155
+ }
154
156
  }
155
157
  if (options?.type === 'dns-mapping' || this.dnsMappings.has(addr)) {
156
- startingConfidence = this.dnsMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
158
+ const dnsMapingStartingConfidence = this.dnsMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
159
+ if (!dnsMapingStartingConfidence && startingConfidence) {
160
+ startingConfidence = false;
161
+ }
157
162
  }
158
163
  if (options?.type === 'ip-mapping' || this.ipMappings.has(addr)) {
159
- startingConfidence = this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
164
+ const ipMapingStartingConfidence = this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
165
+ if (!ipMapingStartingConfidence && startingConfidence) {
166
+ startingConfidence = false;
167
+ }
168
+ }
169
+ if (options?.type === 'observed' || this.observed.has(addr)) {
170
+ // try to match up observed address with local transport listener
171
+ if (this.maybeUpgradeToIPMapping(addr)) {
172
+ this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
173
+ startingConfidence = false;
174
+ }
175
+ else {
176
+ const observedStartingConfidence = this.observed.confirm(addr, options?.ttl ?? this.addressVerificationTTL);
177
+ if (!observedStartingConfidence && startingConfidence) {
178
+ startingConfidence = false;
179
+ }
180
+ }
160
181
  }
161
182
  // only trigger the 'self:peer:update' event if our confidence in an address has changed
162
183
  if (!startingConfidence) {
@@ -167,16 +188,28 @@ export class AddressManager {
167
188
  addr = stripPeerId(addr, this.components.peerId);
168
189
  let startingConfidence = false;
169
190
  if (this.observed.has(addr)) {
170
- startingConfidence = this.observed.remove(addr);
191
+ const observedStartingConfidence = this.observed.remove(addr);
192
+ if (!observedStartingConfidence && startingConfidence) {
193
+ startingConfidence = false;
194
+ }
171
195
  }
172
196
  if (this.transportAddresses.has(addr)) {
173
- startingConfidence = this.transportAddresses.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
197
+ const transportStartingConfidence = this.transportAddresses.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
198
+ if (!transportStartingConfidence && startingConfidence) {
199
+ startingConfidence = false;
200
+ }
174
201
  }
175
202
  if (this.dnsMappings.has(addr)) {
176
- startingConfidence = this.dnsMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
203
+ const dnsMapingStartingConfidence = this.dnsMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
204
+ if (!dnsMapingStartingConfidence && startingConfidence) {
205
+ startingConfidence = false;
206
+ }
177
207
  }
178
208
  if (this.ipMappings.has(addr)) {
179
- startingConfidence = this.ipMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
209
+ const ipMapingStartingConfidence = this.ipMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry);
210
+ if (!ipMapingStartingConfidence && startingConfidence) {
211
+ startingConfidence = false;
212
+ }
180
213
  }
181
214
  // only trigger the 'self:peer:update' event if our confidence in an address has changed
182
215
  if (startingConfidence) {
@@ -260,5 +293,63 @@ export class AddressManager {
260
293
  this._updatePeerStoreAddresses();
261
294
  }
262
295
  }
296
+ /**
297
+ * Where an external service (router, gateway, etc) is forwarding traffic to
298
+ * us, attempt to add an IP mapping for the external address - this will
299
+ * include the observed mapping in the address list where we also have a DNS
300
+ * mapping for the external IP.
301
+ *
302
+ * Returns true if we added a new mapping
303
+ */
304
+ maybeUpgradeToIPMapping(ma) {
305
+ // this address is already mapped
306
+ if (this.ipMappings.has(ma)) {
307
+ return false;
308
+ }
309
+ const maOptions = ma.toOptions();
310
+ // only public IPv4 addresses
311
+ if (maOptions.family === 6 || maOptions.host === '127.0.0.1' || isPrivateIp(maOptions.host) === true) {
312
+ return false;
313
+ }
314
+ const listeners = this.components.transportManager.getListeners();
315
+ const transportMatchers = [
316
+ (ma) => WebSockets.exactMatch(ma) || WebSocketsSecure.exactMatch(ma),
317
+ (ma) => TCP.exactMatch(ma),
318
+ (ma) => QUICV1.exactMatch(ma)
319
+ ];
320
+ for (const matcher of transportMatchers) {
321
+ // is the incoming address the same type as the matcher
322
+ if (!matcher(ma)) {
323
+ continue;
324
+ }
325
+ // get the listeners for this transport
326
+ const transportListeners = listeners.filter(listener => {
327
+ return listener.getAddrs().filter(ma => {
328
+ // only IPv4 addresses of the matcher type
329
+ return ma.toOptions().family === 4 && matcher(ma);
330
+ }).length > 0;
331
+ });
332
+ // because the NAT mapping could be forwarding different external ports to
333
+ // internal ones, we can only be sure enough to add a mapping if there is
334
+ // a single listener
335
+ if (transportListeners.length !== 1) {
336
+ continue;
337
+ }
338
+ // we have one listener which listens on one port so whatever the external
339
+ // NAT port mapping is, it should be for this listener
340
+ const linkLocalAddr = transportListeners[0].getAddrs().filter(ma => {
341
+ return ma.toOptions().host !== '127.0.0.1';
342
+ }).pop();
343
+ if (linkLocalAddr == null) {
344
+ continue;
345
+ }
346
+ const linkLocalOptions = linkLocalAddr.toOptions();
347
+ // upgrade observed address to IP mapping
348
+ this.observed.remove(ma);
349
+ this.ipMappings.add(linkLocalOptions.host, linkLocalOptions.port, maOptions.host, maOptions.port, maOptions.transport);
350
+ return true;
351
+ }
352
+ return false;
353
+ }
263
354
  }
264
355
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/address-manager/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"observed-addresses.d.ts","sourceRoot":"","sources":["../../../src/address-manager/observed-addresses.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,eAAO,MAAM,aAAa;;CAEzB,CAAA;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;gBAEhC,UAAU,EAAE,wBAAwB,EAAE,IAAI,GAAE,kBAAuB;IAMhF,GAAG,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO;IAI5B,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQrC,GAAG,CAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAgBzB,MAAM,IAAK,WAAW,EAAE;IAWxB,MAAM,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO;IAS/B,OAAO,CAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;CAgB9C"}
1
+ {"version":3,"file":"observed-addresses.d.ts","sourceRoot":"","sources":["../../../src/address-manager/observed-addresses.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,eAAO,MAAM,aAAa;;CAEzB,CAAA;AAQD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsC;IAChE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;gBAEhC,UAAU,EAAE,wBAAwB,EAAE,IAAI,GAAE,kBAAuB;IAMhF,GAAG,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO;IAI5B,cAAc,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAQrC,GAAG,CAAE,EAAE,EAAE,SAAS,GAAG,IAAI;IAgBzB,MAAM,IAAK,WAAW,EAAE;IAWxB,MAAM,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO;IAS/B,OAAO,CAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;CAiB9C"}
@@ -61,6 +61,7 @@ export class ObservedAddresses {
61
61
  };
62
62
  const startingConfidence = metadata.verified;
63
63
  metadata.verified = true;
64
+ metadata.expires = Date.now() + ttl;
64
65
  metadata.lastVerified = Date.now();
65
66
  this.log('marking observed address %a as verified', addrString);
66
67
  this.addresses.set(addrString, metadata);
@@ -1 +1 @@
1
- {"version":3,"file":"observed-addresses.js","sourceRoot":"","sources":["../../../src/address-manager/observed-addresses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observed-addresses.js","sourceRoot":"","sources":["../../../src/address-manager/observed-addresses.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const version = "2.5.1";
1
+ export declare const version = "2.5.2-34b3c14b8";
2
2
  export declare const name = "js-libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAA;AAC9B,eAAO,MAAM,IAAI,cAAc,CAAA"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,oBAAoB,CAAA;AACxC,eAAO,MAAM,IAAI,cAAc,CAAA"}
@@ -1,3 +1,3 @@
1
- export const version = '2.5.1';
1
+ export const version = '2.5.2-34b3c14b8';
2
2
  export const name = 'js-libp2p';
3
3
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAA;AACxC,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "2.5.1",
3
+ "version": "2.5.2-34b3c14b8",
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/main/packages/libp2p#readme",
@@ -87,17 +87,17 @@
87
87
  "dependencies": {
88
88
  "@chainsafe/is-ip": "^2.0.2",
89
89
  "@chainsafe/netmask": "^2.0.0",
90
- "@libp2p/crypto": "^5.0.10",
91
- "@libp2p/interface": "^2.4.1",
92
- "@libp2p/interface-internal": "^2.2.3",
93
- "@libp2p/logger": "^5.1.7",
94
- "@libp2p/multistream-select": "^6.0.12",
95
- "@libp2p/peer-collections": "^6.0.15",
96
- "@libp2p/peer-id": "^5.0.11",
97
- "@libp2p/peer-store": "^11.0.15",
98
- "@libp2p/utils": "^6.4.0",
90
+ "@libp2p/crypto": "5.0.10-34b3c14b8",
91
+ "@libp2p/interface": "2.4.1-34b3c14b8",
92
+ "@libp2p/interface-internal": "2.2.4-34b3c14b8",
93
+ "@libp2p/logger": "5.1.7-34b3c14b8",
94
+ "@libp2p/multistream-select": "6.0.12-34b3c14b8",
95
+ "@libp2p/peer-collections": "6.0.16-34b3c14b8",
96
+ "@libp2p/peer-id": "5.0.11-34b3c14b8",
97
+ "@libp2p/peer-store": "11.0.16-34b3c14b8",
98
+ "@libp2p/utils": "6.5.0-34b3c14b8",
99
99
  "@multiformats/dns": "^1.0.6",
100
- "@multiformats/multiaddr": "^12.3.3",
100
+ "@multiformats/multiaddr": "^12.3.5",
101
101
  "@multiformats/multiaddr-matcher": "^1.6.0",
102
102
  "any-signal": "^4.1.1",
103
103
  "datastore-core": "^10.0.2",
@@ -3,7 +3,9 @@ import { isIPv4 } from '@chainsafe/is-ip'
3
3
  import { peerIdFromString } from '@libp2p/peer-id'
4
4
  import { debounce } from '@libp2p/utils/debounce'
5
5
  import { createScalableCuckooFilter } from '@libp2p/utils/filters'
6
+ import { isPrivateIp } from '@libp2p/utils/private-ip'
6
7
  import { multiaddr } from '@multiformats/multiaddr'
8
+ import { QUICV1, TCP, WebSockets, WebSocketsSecure } from '@multiformats/multiaddr-matcher'
7
9
  import { DNSMappings } from './dns-mappings.js'
8
10
  import { IPMappings } from './ip-mappings.js'
9
11
  import { ObservedAddresses } from './observed-addresses.js'
@@ -249,20 +251,42 @@ export class AddressManager implements AddressManagerInterface {
249
251
  addr = stripPeerId(addr, this.components.peerId)
250
252
  let startingConfidence = true
251
253
 
252
- if (options?.type === 'observed' || this.observed.has(addr)) {
253
- startingConfidence = this.observed.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
254
- }
255
-
256
254
  if (options?.type === 'transport' || this.transportAddresses.has(addr)) {
257
- startingConfidence = this.transportAddresses.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
255
+ const transportStartingConfidence = this.transportAddresses.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
256
+
257
+ if (!transportStartingConfidence && startingConfidence) {
258
+ startingConfidence = false
259
+ }
258
260
  }
259
261
 
260
262
  if (options?.type === 'dns-mapping' || this.dnsMappings.has(addr)) {
261
- startingConfidence = this.dnsMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
263
+ const dnsMapingStartingConfidence = this.dnsMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
264
+
265
+ if (!dnsMapingStartingConfidence && startingConfidence) {
266
+ startingConfidence = false
267
+ }
262
268
  }
263
269
 
264
270
  if (options?.type === 'ip-mapping' || this.ipMappings.has(addr)) {
265
- startingConfidence = this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
271
+ const ipMapingStartingConfidence = this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
272
+
273
+ if (!ipMapingStartingConfidence && startingConfidence) {
274
+ startingConfidence = false
275
+ }
276
+ }
277
+
278
+ if (options?.type === 'observed' || this.observed.has(addr)) {
279
+ // try to match up observed address with local transport listener
280
+ if (this.maybeUpgradeToIPMapping(addr)) {
281
+ this.ipMappings.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
282
+ startingConfidence = false
283
+ } else {
284
+ const observedStartingConfidence = this.observed.confirm(addr, options?.ttl ?? this.addressVerificationTTL)
285
+
286
+ if (!observedStartingConfidence && startingConfidence) {
287
+ startingConfidence = false
288
+ }
289
+ }
266
290
  }
267
291
 
268
292
  // only trigger the 'self:peer:update' event if our confidence in an address has changed
@@ -277,19 +301,35 @@ export class AddressManager implements AddressManagerInterface {
277
301
  let startingConfidence = false
278
302
 
279
303
  if (this.observed.has(addr)) {
280
- startingConfidence = this.observed.remove(addr)
304
+ const observedStartingConfidence = this.observed.remove(addr)
305
+
306
+ if (!observedStartingConfidence && startingConfidence) {
307
+ startingConfidence = false
308
+ }
281
309
  }
282
310
 
283
311
  if (this.transportAddresses.has(addr)) {
284
- startingConfidence = this.transportAddresses.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
312
+ const transportStartingConfidence = this.transportAddresses.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
313
+
314
+ if (!transportStartingConfidence && startingConfidence) {
315
+ startingConfidence = false
316
+ }
285
317
  }
286
318
 
287
319
  if (this.dnsMappings.has(addr)) {
288
- startingConfidence = this.dnsMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
320
+ const dnsMapingStartingConfidence = this.dnsMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
321
+
322
+ if (!dnsMapingStartingConfidence && startingConfidence) {
323
+ startingConfidence = false
324
+ }
289
325
  }
290
326
 
291
327
  if (this.ipMappings.has(addr)) {
292
- startingConfidence = this.ipMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
328
+ const ipMapingStartingConfidence = this.ipMappings.unconfirm(addr, options?.ttl ?? this.addressVerificationRetry)
329
+
330
+ if (!ipMapingStartingConfidence && startingConfidence) {
331
+ startingConfidence = false
332
+ }
293
333
  }
294
334
 
295
335
  // only trigger the 'self:peer:update' event if our confidence in an address has changed
@@ -410,4 +450,82 @@ export class AddressManager implements AddressManagerInterface {
410
450
  this._updatePeerStoreAddresses()
411
451
  }
412
452
  }
453
+
454
+ /**
455
+ * Where an external service (router, gateway, etc) is forwarding traffic to
456
+ * us, attempt to add an IP mapping for the external address - this will
457
+ * include the observed mapping in the address list where we also have a DNS
458
+ * mapping for the external IP.
459
+ *
460
+ * Returns true if we added a new mapping
461
+ */
462
+ private maybeUpgradeToIPMapping (ma: Multiaddr): boolean {
463
+ // this address is already mapped
464
+ if (this.ipMappings.has(ma)) {
465
+ return false
466
+ }
467
+
468
+ const maOptions = ma.toOptions()
469
+
470
+ // only public IPv4 addresses
471
+ if (maOptions.family === 6 || maOptions.host === '127.0.0.1' || isPrivateIp(maOptions.host) === true) {
472
+ return false
473
+ }
474
+
475
+ const listeners = this.components.transportManager.getListeners()
476
+
477
+ const transportMatchers: Array<(ma: Multiaddr) => boolean> = [
478
+ (ma: Multiaddr) => WebSockets.exactMatch(ma) || WebSocketsSecure.exactMatch(ma),
479
+ (ma: Multiaddr) => TCP.exactMatch(ma),
480
+ (ma: Multiaddr) => QUICV1.exactMatch(ma)
481
+ ]
482
+
483
+ for (const matcher of transportMatchers) {
484
+ // is the incoming address the same type as the matcher
485
+ if (!matcher(ma)) {
486
+ continue
487
+ }
488
+
489
+ // get the listeners for this transport
490
+ const transportListeners = listeners.filter(listener => {
491
+ return listener.getAddrs().filter(ma => {
492
+ // only IPv4 addresses of the matcher type
493
+ return ma.toOptions().family === 4 && matcher(ma)
494
+ }).length > 0
495
+ })
496
+
497
+ // because the NAT mapping could be forwarding different external ports to
498
+ // internal ones, we can only be sure enough to add a mapping if there is
499
+ // a single listener
500
+ if (transportListeners.length !== 1) {
501
+ continue
502
+ }
503
+
504
+ // we have one listener which listens on one port so whatever the external
505
+ // NAT port mapping is, it should be for this listener
506
+ const linkLocalAddr = transportListeners[0].getAddrs().filter(ma => {
507
+ return ma.toOptions().host !== '127.0.0.1'
508
+ }).pop()
509
+
510
+ if (linkLocalAddr == null) {
511
+ continue
512
+ }
513
+
514
+ const linkLocalOptions = linkLocalAddr.toOptions()
515
+
516
+ // upgrade observed address to IP mapping
517
+ this.observed.remove(ma)
518
+ this.ipMappings.add(
519
+ linkLocalOptions.host,
520
+ linkLocalOptions.port,
521
+ maOptions.host,
522
+ maOptions.port,
523
+ maOptions.transport
524
+ )
525
+
526
+ return true
527
+ }
528
+
529
+ return false
530
+ }
413
531
  }
@@ -84,6 +84,7 @@ export class ObservedAddresses {
84
84
  }
85
85
  const startingConfidence = metadata.verified
86
86
  metadata.verified = true
87
+ metadata.expires = Date.now() + ttl
87
88
  metadata.lastVerified = Date.now()
88
89
 
89
90
  this.log('marking observed address %a as verified', addrString)
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '2.5.1'
1
+ export const version = '2.5.2-34b3c14b8'
2
2
  export const name = 'js-libp2p'
@@ -1,19 +0,0 @@
1
- {
2
- "AddressFilter": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressFilter.html",
3
- "AddressManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.AddressManagerInit.html",
4
- "ConnectionManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionManagerInit.html",
5
- "ConnectionMonitorInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.ConnectionMonitorInit.html",
6
- "Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
7
- ".:Libp2pInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.Libp2pInit.html",
8
- "TransportManagerInit": "https://libp2p.github.io/js-libp2p/interfaces/libp2p.index.TransportManagerInit.html",
9
- "Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
10
- ".:Libp2pOptions": "https://libp2p.github.io/js-libp2p/types/libp2p.index.Libp2pOptions.html",
11
- "ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
12
- ".:ServiceFactoryMap": "https://libp2p.github.io/js-libp2p/types/libp2p.index.ServiceFactoryMap.html",
13
- "createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
14
- ".:createLibp2p": "https://libp2p.github.io/js-libp2p/functions/libp2p.index.createLibp2p.html",
15
- "name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
16
- "./version:name": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.name.html",
17
- "version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html",
18
- "./version:version": "https://libp2p.github.io/js-libp2p/variables/libp2p.version.version.html"
19
- }