libp2p 0.37.1 → 0.37.2

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.
@@ -9,9 +9,22 @@ export interface HostProperties {
9
9
  agentVersion: string;
10
10
  }
11
11
  export interface IdentifyServiceInit {
12
+ /**
13
+ * The prefix to use for the protocol (default: 'ipfs')
14
+ */
12
15
  protocolPrefix: string;
16
+ /**
17
+ * What details we should send as part of an identify message
18
+ */
13
19
  host: HostProperties;
20
+ /**
21
+ * How long we should wait for a remote peer to send their identify response
22
+ */
14
23
  timeout?: number;
24
+ /**
25
+ * Identify responses larger than this in bytes will be rejected (default: 8192)
26
+ */
27
+ maxIdentifyMessageSize?: number;
15
28
  }
16
29
  export declare class IdentifyService implements Startable {
17
30
  private readonly components;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identify/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAa,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAY1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAQtD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,MAAM,CAAA;IACtB,IAAI,EAAE,cAAc,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGpB;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB;IAyC9D,SAAS;IAIH,KAAK;IAoBL,IAAI;IAOV;;OAEG;IACG,IAAI,CAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CrD;;OAEG;IACG,eAAe;IAsBf,SAAS,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+BvF;;;;OAIG;IACG,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwFlF;;OAEG;IACH,aAAa,CAAE,IAAI,EAAE,kBAAkB;IAavC;;;OAGG;IACG,eAAe,CAAE,IAAI,EAAE,kBAAkB;IAgD/C;;OAEG;IACG,WAAW,CAAE,IAAI,EAAE,kBAAkB;IA8E3C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;CASvE;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAGvB,CAAA;AAED,eAAO,MAAM,OAAO;;CAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/identify/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAa,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAY1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,+BAA+B,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAYtD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAA;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAQ;IAC5C,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAGpB;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqB;IAC1C,OAAO,CAAC,OAAO,CAAS;gBAEX,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,mBAAmB;IAyC9D,SAAS;IAIH,KAAK;IAoBL,IAAI;IAOV;;OAEG;IACG,IAAI,CAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CrD;;OAEG;IACG,eAAe;IAsBf,SAAS,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2CvF;;;;OAIG;IACG,QAAQ,CAAE,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAwFlF;;OAEG;IACH,aAAa,CAAE,IAAI,EAAE,kBAAkB;IAavC;;;OAGG;IACG,eAAe,CAAE,IAAI,EAAE,kBAAkB;IAgD/C;;OAEG;IACG,WAAW,CAAE,IAAI,EAAE,kBAAkB;IAgF3C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS;CASvE;AAED;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAGvB,CAAA;AAED,eAAO,MAAM,OAAO;;CAAe,CAAA"}
@@ -14,7 +14,10 @@ import { peerIdFromKeys } from '@libp2p/peer-id';
14
14
  import { TimeoutController } from 'timeout-abort-controller';
15
15
  import { abortableDuplex } from 'abortable-iterator';
16
16
  const log = logger('libp2p:identify');
17
- const IDENTIFY_TIMEOUT = 30000;
17
+ // https://github.com/libp2p/go-libp2p/blob/8d2e54e1637041d5cf4fac1e531287560bd1f4ac/p2p/protocol/identify/id.go#L48
18
+ const IDENTIFY_TIMEOUT = 60000;
19
+ // https://github.com/libp2p/go-libp2p/blob/8d2e54e1637041d5cf4fac1e531287560bd1f4ac/p2p/protocol/identify/id.go#L52
20
+ const MAX_IDENTIFY_MESSAGE_SIZE = 1024 * 8;
18
21
  export class IdentifyService {
19
22
  constructor(components, init) {
20
23
  this.components = components;
@@ -130,12 +133,19 @@ export class IdentifyService {
130
133
  async _identify(connection, options = {}) {
131
134
  const { stream } = await connection.newStream([this.identifyProtocolStr], options);
132
135
  let source = stream;
133
- // make stream abortable if AbortSignal passed
134
- if (options.signal != null) {
135
- source = abortableDuplex(stream, options.signal);
136
+ let timeoutController;
137
+ let signal = options.signal;
138
+ // create a timeout if no abort signal passed
139
+ if (signal == null) {
140
+ timeoutController = new TimeoutController(this.init.timeout ?? IDENTIFY_TIMEOUT);
141
+ signal = timeoutController.signal;
136
142
  }
143
+ // make stream abortable if AbortSignal passed
144
+ source = abortableDuplex(stream, signal);
137
145
  try {
138
- const data = await pipe([], source, lp.decode(), async (source) => await first(source));
146
+ const data = await pipe([], source, lp.decode({
147
+ maxDataLength: this.init.maxIdentifyMessageSize ?? MAX_IDENTIFY_MESSAGE_SIZE
148
+ }), async (source) => await first(source));
139
149
  if (data == null) {
140
150
  throw errCode(new Error('No data could be retrieved'), codes.ERR_CONNECTION_ENDED);
141
151
  }
@@ -147,6 +157,9 @@ export class IdentifyService {
147
157
  }
148
158
  }
149
159
  finally {
160
+ if (timeoutController != null) {
161
+ timeoutController.clear();
162
+ }
150
163
  stream.close();
151
164
  }
152
165
  }
@@ -282,7 +295,9 @@ export class IdentifyService {
282
295
  try {
283
296
  // make stream abortable
284
297
  const source = abortableDuplex(stream, timeoutController.signal);
285
- const data = await pipe([], source, lp.decode(), async (source) => await first(source));
298
+ const data = await pipe([], source, lp.decode({
299
+ maxDataLength: this.init.maxIdentifyMessageSize ?? MAX_IDENTIFY_MESSAGE_SIZE
300
+ }), async (source) => await first(source));
286
301
  if (data != null) {
287
302
  message = Identify.decode(data);
288
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identify/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/identify/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,KAAK,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,UAAU,IAAI,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,iCAAiC,EACjC,sCAAsC,EACtC,oCAAoC,EACpC,yCAAyC,EAC1C,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAIpC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpD,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAErC,oHAAoH;AACpH,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAE9B,oHAAoH;AACpH,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAA;AA4B1C,MAAM,OAAO,eAAe;IAY1B,YAAa,UAAsB,EAAE,IAAyB;QAC5D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAEhB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAElD,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,iCAAiC,IAAI,oCAAoC,EAAE,CAAA;QACjI,IAAI,CAAC,uBAAuB,GAAG,IAAI,IAAI,CAAC,cAAc,IAAI,sCAAsC,IAAI,yCAAyC,EAAE,CAAA;QAE/I,2BAA2B;QAC3B,IAAI,CAAC,IAAI,GAAG;YACV,eAAe,EAAE,GAAG,IAAI,CAAC,cAAc,IAAI,yBAAyB,EAAE;YACtE,GAAG,IAAI,CAAC,IAAI;SACb,CAAA;QAED,kDAAkD;QAClD,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;YAC9E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC5C,CAAC,CAAC,CAAA;QAEF,qDAAqD;QACrD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC9C,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;aACzD;QACH,CAAC,CAAC,CAAA;QAEF,oDAAoD;QACpD,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1E,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAA;YAE7B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC9C,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;aACzD;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAM;SACP;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;QACrJ,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAA;QAE3J,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC;YAC1C,IAAI,CAAC,mBAAmB;YACxB,IAAI,CAAC,uBAAuB;SAC7B,EAAE,CAAC,IAAI,EAAE,EAAE;YACV,KAAK,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE;gBACzC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QACvE,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAE3E,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAE,WAAyB;QACnC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QACrH,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QAC5F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QAEjG,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,EAAC,UAAU,EAAC,EAAE;YAChD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;YACtF,IAAI,MAA0B,CAAA;YAE9B,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;oBACtE,MAAM,EAAE,iBAAiB,CAAC,MAAM;iBACjC,CAAC,CAAA;gBACF,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBAEpB,wBAAwB;gBACxB,MAAM,MAAM,GAAuB,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;gBAEpF,MAAM,IAAI,CACR,CAAC,QAAQ,CAAC,MAAM,CAAC;wBACf,WAAW;wBACX,gBAAgB;wBAChB,SAAS;qBACV,CAAC,CAAC,EACH,EAAE,CAAC,MAAM,EAAE,EACX,MAAM,EACN,KAAK,CACN,CAAA;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,kBAAkB;gBAClB,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAA;aACzD;oBAAS;gBACR,IAAI,MAAM,IAAI,IAAI,EAAE;oBAClB,MAAM,CAAC,KAAK,EAAE,CAAA;iBACf;gBAED,iBAAiB,CAAC,KAAK,EAAE,CAAA;aAC1B;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAM;SACP;QAED,MAAM,WAAW,GAAiB,EAAE,CAAA;QAEpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,cAAc,EAAE,EAAE;YAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAA;YAC9B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YAE7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;gBAC1D,SAAQ;aACT;YAED,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACvB;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS,CAAE,UAAsB,EAAE,UAAwB,EAAE;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC,CAAA;QAClF,IAAI,MAAM,GAAuB,MAAM,CAAA;QACvC,IAAI,iBAAiB,CAAA;QACrB,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAE3B,6CAA6C;QAC7C,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;YAChF,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAA;SAClC;QAED,8CAA8C;QAC9C,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAExC,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,EAAE,EACF,MAAM,EACN,EAAE,CAAC,MAAM,CAAC;gBACR,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,yBAAyB;aAC7E,CAAC,EACF,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CACtC,CAAA;YAED,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAA;aACnF;YAED,IAAI;gBACF,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;aAC7B;YAAC,OAAO,GAAQ,EAAE;gBACjB,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAA;aAC9C;SACF;gBAAS;YACR,IAAI,iBAAiB,IAAI,IAAI,EAAE;gBAC7B,iBAAiB,CAAC,KAAK,EAAE,CAAA;aAC1B;YAED,MAAM,CAAC,KAAK,EAAE,CAAA;SACf;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CAAE,UAAsB,EAAE,UAAwB,EAAE;QAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAEzD,MAAM,EACJ,SAAS,EACT,WAAW,EACX,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,GAAG,OAAO,CAAA;QAEX,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,8CAA8C,CAAC,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;SACvG;QAED,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,CAAA;QAE1C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACrC,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACrG;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC1C,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;SACxF;QAED,uCAAuC;QACvC,MAAM,iBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;QAEzE,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC5B,GAAG,CAAC,qCAAqC,EAAE,EAAE,CAAC,CAAA;YAE9C,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBAEzF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;oBAC/B,MAAM,OAAO,CAAC,IAAI,KAAK,CAAC,kDAAkD,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;iBACrG;gBAED,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;oBAChF,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;oBAEjE,IAAI,YAAY,IAAI,IAAI,EAAE;wBACxB,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;qBACnH;oBAED,IAAI,eAAe,IAAI,IAAI,EAAE;wBAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAA;qBACzH;oBAED,GAAG,CAAC,iDAAiD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;oBAErE,OAAM;iBACP;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,gFAAgF,EAAE,GAAG,CAAC,CAAA;aAC3F;SACF;aAAM;YACL,GAAG,CAAC,wCAAwC,EAAE,EAAE,CAAC,CAAA;SAClD;QAED,GAAG,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAA;QAEnD,yCAAyC;QACzC,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACzG;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;SACzC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;QAEjE,IAAI,YAAY,IAAI,IAAI,EAAE;YACxB,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,cAAc,EAAE,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAA;SACnH;QAED,IAAI,eAAe,IAAI,IAAI,EAAE;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAA;SACzH;QAED,GAAG,CAAC,iDAAiD,EAAE,EAAE,EAAE,SAAS,CAAC,CAAA;QAErE,wCAAwC;QACxC,GAAG,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAA;QACrE,oEAAoE;IACtE,CAAC;IAED;;OAEG;IACH,aAAa,CAAE,IAAwB;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAA;QAEzB,QAAQ,QAAQ,EAAE;YAChB,KAAK,IAAI,CAAC,mBAAmB;gBAC3B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;YACnC,KAAK,IAAI,CAAC,uBAAuB;gBAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAC/B;gBACE,GAAG,CAAC,KAAK,CAAC,mCAAmC,EAAE,QAAQ,CAAC,CAAA;SAC3D;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CAAE,IAAwB;QAC7C,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACnC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;QAEtF,IAAI;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,IAAI,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;YAC5E,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;YACtF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;YAC1H,IAAI,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAA;YAElD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,IAAI,IAAI,EAAE;gBACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;oBAChC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;oBACnC,UAAU;iBACX,CAAC,CAAA;gBAEF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;gBACnF,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA;gBAC5E,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAA;aACtC;YAED,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC9B,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe;gBAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY;gBACpC,SAAS;gBACT,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC/C,gBAAgB;gBAChB,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK;gBACzC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC,CAAA;YAEF,wBAAwB;YACxB,MAAM,MAAM,GAAuB,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAEpF,MAAM,IAAI,CACR,CAAC,OAAO,CAAC,EACT,EAAE,CAAC,MAAM,EAAE,EACX,MAAM,EACN,KAAK,CACN,CAAA;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAA;SACxD;gBAAS;YACR,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,iBAAiB,CAAC,KAAK,EAAE,CAAA;SAC1B;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAE,IAAwB;QACzC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QACnC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;QAEtF,IAAI,OAA6B,CAAA;QACjC,IAAI;YACF,wBAAwB;YACxB,MAAM,MAAM,GAAuB,eAAe,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAA;YAEpF,MAAM,IAAI,GAAG,MAAM,IAAI,CACrB,EAAE,EACF,MAAM,EACN,EAAE,CAAC,MAAM,CAAC;gBACR,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,yBAAyB;aAC7E,CAAC,EACF,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,CACtC,CAAA;YAED,IAAI,IAAI,IAAI,IAAI,EAAE;gBAChB,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;aAChC;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,OAAO,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAA;SAClD;gBAAS;YACR,MAAM,CAAC,KAAK,EAAE,CAAA;YACd,iBAAiB,CAAC,KAAK,EAAE,CAAA;SAC1B;QAED,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;SAC7C;QAED,MAAM,EAAE,GAAG,UAAU,CAAC,UAAU,CAAA;QAEhC,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAC1C,GAAG,CAAC,+BAA+B,CAAC,CAAA;YACpC,OAAM;SACP;QAED,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAA;QAEhC,IAAI,OAAO,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACpC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAExC,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;gBAEjG,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE;oBAChF,GAAG,CAAC,wCAAwC,CAAC,CAAA;oBAE7C,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;oBACzE,OAAM;iBACP;qBAAM;oBACL,GAAG,CAAC,iDAAiD,CAAC,CAAA;iBACvD;aACF;YAAC,OAAO,GAAQ,EAAE;gBACjB,GAAG,CAAC,gFAAgF,EAAE,GAAG,CAAC,CAAA;aAC3F;SACF;aAAM;YACL,GAAG,CAAC,0CAA0C,CAAC,CAAA;SAChD;QAED,yCAAyC;QACzC,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EACrD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SAC1D;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAA;SACzC;QAED,uBAAuB;QACvB,IAAI;YACF,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;SAC1E;QAAC,OAAO,GAAQ,EAAE;YACjB,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAA;SAC7C;QAED,GAAG,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAE,IAA4C;QACpE,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACnC,IAAI;gBACF,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,CAAA;aAC3B;YAAC,MAAM;aAEP;SACF;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,QAAQ,EAAE,mBAAmB;IAC7B,aAAa,EAAE,wBAAwB;CACxC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "0.37.1",
3
+ "version": "0.37.2",
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#readme",
@@ -30,16 +30,36 @@ import type { Duplex } from 'it-stream-types'
30
30
 
31
31
  const log = logger('libp2p:identify')
32
32
 
33
- const IDENTIFY_TIMEOUT = 30000
33
+ // https://github.com/libp2p/go-libp2p/blob/8d2e54e1637041d5cf4fac1e531287560bd1f4ac/p2p/protocol/identify/id.go#L48
34
+ const IDENTIFY_TIMEOUT = 60000
35
+
36
+ // https://github.com/libp2p/go-libp2p/blob/8d2e54e1637041d5cf4fac1e531287560bd1f4ac/p2p/protocol/identify/id.go#L52
37
+ const MAX_IDENTIFY_MESSAGE_SIZE = 1024 * 8
34
38
 
35
39
  export interface HostProperties {
36
40
  agentVersion: string
37
41
  }
38
42
 
39
43
  export interface IdentifyServiceInit {
44
+ /**
45
+ * The prefix to use for the protocol (default: 'ipfs')
46
+ */
40
47
  protocolPrefix: string
48
+
49
+ /**
50
+ * What details we should send as part of an identify message
51
+ */
41
52
  host: HostProperties
53
+
54
+ /**
55
+ * How long we should wait for a remote peer to send their identify response
56
+ */
42
57
  timeout?: number
58
+
59
+ /**
60
+ * Identify responses larger than this in bytes will be rejected (default: 8192)
61
+ */
62
+ maxIdentifyMessageSize?: number
43
63
  }
44
64
 
45
65
  export class IdentifyService implements Startable {
@@ -200,17 +220,25 @@ export class IdentifyService implements Startable {
200
220
  async _identify (connection: Connection, options: AbortOptions = {}): Promise<Identify> {
201
221
  const { stream } = await connection.newStream([this.identifyProtocolStr], options)
202
222
  let source: Duplex<Uint8Array> = stream
223
+ let timeoutController
224
+ let signal = options.signal
203
225
 
204
- // make stream abortable if AbortSignal passed
205
- if (options.signal != null) {
206
- source = abortableDuplex(stream, options.signal)
226
+ // create a timeout if no abort signal passed
227
+ if (signal == null) {
228
+ timeoutController = new TimeoutController(this.init.timeout ?? IDENTIFY_TIMEOUT)
229
+ signal = timeoutController.signal
207
230
  }
208
231
 
232
+ // make stream abortable if AbortSignal passed
233
+ source = abortableDuplex(stream, signal)
234
+
209
235
  try {
210
236
  const data = await pipe(
211
237
  [],
212
238
  source,
213
- lp.decode(),
239
+ lp.decode({
240
+ maxDataLength: this.init.maxIdentifyMessageSize ?? MAX_IDENTIFY_MESSAGE_SIZE
241
+ }),
214
242
  async (source) => await first(source)
215
243
  )
216
244
 
@@ -224,6 +252,10 @@ export class IdentifyService implements Startable {
224
252
  throw errCode(err, codes.ERR_INVALID_MESSAGE)
225
253
  }
226
254
  } finally {
255
+ if (timeoutController != null) {
256
+ timeoutController.clear()
257
+ }
258
+
227
259
  stream.close()
228
260
  }
229
261
  }
@@ -404,7 +436,9 @@ export class IdentifyService implements Startable {
404
436
  const data = await pipe(
405
437
  [],
406
438
  source,
407
- lp.decode(),
439
+ lp.decode({
440
+ maxDataLength: this.init.maxIdentifyMessageSize ?? MAX_IDENTIFY_MESSAGE_SIZE
441
+ }),
408
442
  async (source) => await first(source)
409
443
  )
410
444