@libp2p/webrtc 1.1.9 → 1.1.10

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/sdp.d.ts CHANGED
@@ -5,6 +5,8 @@ import type { HashCode, HashName } from 'multihashes';
5
5
  * Get base2 | identity decoders
6
6
  */
7
7
  export declare const mbdecoder: any;
8
+ export declare function getLocalFingerprint(pc: RTCPeerConnection): string | undefined;
9
+ export declare function getFingerprintFromSdp(sdp: string): string | undefined;
8
10
  export declare function certhash(ma: Multiaddr): string;
9
11
  /**
10
12
  * Convert a certhash into a multihash
@@ -1 +1 @@
1
- {"version":3,"file":"sdp.d.ts","sourceRoot":"","sources":["../../src/sdp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOrD;;GAEG;AAEH,eAAO,MAAM,SAAS,EAAE,GAAwE,CAAA;AAkBhG,wBAAgB,QAAQ,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAS/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAGxH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAWvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAW3E;AA2BD;;GAEG;AACH,wBAAgB,aAAa,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAKtF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAShG"}
1
+ {"version":3,"file":"sdp.d.ts","sourceRoot":"","sources":["../../src/sdp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,OAAO,KAAK,WAAW,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAOrD;;GAEG;AAEH,eAAO,MAAM,SAAS,EAAE,GAAwE,CAAA;AAEhG,wBAAgB,mBAAmB,CAAE,EAAE,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAwB9E;AAGD,wBAAgB,qBAAqB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtE;AAiBD,wBAAgB,QAAQ,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAS/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAGxH;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAWvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,WAAW,CAAC,QAAQ,GAAG,MAAM,CAW3E;AA2BD;;GAEG;AACH,wBAAgB,aAAa,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAKtF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAShG"}
package/dist/src/sdp.js CHANGED
@@ -9,6 +9,32 @@ const log = logger('libp2p:webrtc:sdp');
9
9
  */
10
10
  // @ts-expect-error - Not easy to combine these types.
11
11
  export const mbdecoder = Object.values(bases).map(b => b.decoder).reduce((d, b) => d.or(b));
12
+ export function getLocalFingerprint(pc) {
13
+ // try to fetch fingerprint from local certificate
14
+ const localCert = pc.getConfiguration().certificates?.at(0);
15
+ if (localCert == null || localCert.getFingerprints == null) {
16
+ log.trace('fetching fingerprint from local SDP');
17
+ const localDescription = pc.localDescription;
18
+ if (localDescription == null) {
19
+ return undefined;
20
+ }
21
+ return getFingerprintFromSdp(localDescription.sdp);
22
+ }
23
+ log.trace('fetching fingerprint from local certificate');
24
+ if (localCert.getFingerprints().length === 0) {
25
+ return undefined;
26
+ }
27
+ const fingerprint = localCert.getFingerprints()[0].value;
28
+ if (fingerprint == null) {
29
+ throw invalidFingerprint('', 'no fingerprint on local certificate');
30
+ }
31
+ return fingerprint;
32
+ }
33
+ const fingerprintRegex = /^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m;
34
+ export function getFingerprintFromSdp(sdp) {
35
+ const searchResult = sdp.match(fingerprintRegex);
36
+ return searchResult?.groups?.fingerprint;
37
+ }
12
38
  /**
13
39
  * Get base2 | identity decoders
14
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../src/sdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../src/sdp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
@@ -122,6 +122,7 @@ export class WebRTCStream {
122
122
  */
123
123
  this.closeWritePromise = defer();
124
124
  this.channel = opts.channel;
125
+ this.channel.binaryType = 'arraybuffer';
125
126
  this.id = this.channel.label;
126
127
  this.stat = opts.stat;
127
128
  switch (this.channel.readyState) {
@@ -1 +1 @@
1
- {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/stream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAcrD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAwC,CAAA;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAmC,CAAA;AAE/D;;GAEG;AAEH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAE/C,UAAU,EAAE,+BAA+B;IAIxD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAgI/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAyB9B"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAOxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAcrD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAwC,CAAA;AAElE;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAmC,CAAA;AAE/D;;GAEG;AAEH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;gBAE/C,UAAU,EAAE,+BAA+B;IAIxD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAmI/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}
@@ -139,11 +139,22 @@ export class WebRTCDirectTransport {
139
139
  source: {
140
140
  [Symbol.asyncIterator]: async function* () {
141
141
  for await (const list of wrappedChannel.source) {
142
- yield list.subarray();
142
+ for (const buf of list) {
143
+ yield buf;
144
+ }
143
145
  }
144
146
  }
145
147
  }
146
148
  };
149
+ // Creating the connection before completion of the noise
150
+ // handshake ensures that the stream opening callback is set up
151
+ const maConn = new WebRTCMultiaddrConnection({
152
+ peerConnection,
153
+ remoteAddr: ma,
154
+ timeline: {
155
+ open: Date.now()
156
+ }
157
+ });
147
158
  const eventListeningName = isFirefox ? 'iceconnectionstatechange' : 'connectionstatechange';
148
159
  peerConnection.addEventListener(eventListeningName, () => {
149
160
  switch (peerConnection.connectionState) {
@@ -161,15 +172,6 @@ export class WebRTCDirectTransport {
161
172
  break;
162
173
  }
163
174
  }, { signal });
164
- // Creating the connection before completion of the noise
165
- // handshake ensures that the stream opening callback is set up
166
- const maConn = new WebRTCMultiaddrConnection({
167
- peerConnection,
168
- remoteAddr: ma,
169
- timeline: {
170
- open: Date.now()
171
- }
172
- });
173
175
  const muxerFactory = new DataChannelMuxerFactory(peerConnection);
174
176
  // For outbound connections, the remote is expected to start the noise handshake.
175
177
  // Therefore, we need to secure an inbound noise connection from the remote.
@@ -184,15 +186,11 @@ export class WebRTCDirectTransport {
184
186
  if (pc.getConfiguration().certificates?.length === 0) {
185
187
  throw invalidArgument('no local certificate');
186
188
  }
187
- const localCert = pc.getConfiguration().certificates?.at(0);
188
- if (localCert === undefined || localCert.getFingerprints().length === 0) {
189
- throw invalidArgument('no fingerprint on local certificate');
190
- }
191
- const localFingerprint = localCert.getFingerprints()[0];
192
- if (localFingerprint.value === undefined) {
193
- throw invalidArgument('no fingerprint on local certificate');
189
+ const localFingerprint = sdp.getLocalFingerprint(pc);
190
+ if (localFingerprint == null) {
191
+ throw invalidArgument('no local fingerprint found');
194
192
  }
195
- const localFpString = localFingerprint.value.replace(/:/g, '');
193
+ const localFpString = localFingerprint.trim().toLowerCase().replaceAll(':', '');
196
194
  const localFpArray = uint8arrayFromString(localFpString, 'hex');
197
195
  const local = multihashes.encode(localFpArray, hashCode);
198
196
  const remote = sdp.mbdecoder.decode(sdp.certhash(ma));
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/webrtc",
3
- "version": "1.1.9",
3
+ "version": "1.1.10",
4
4
  "description": "A libp2p transport using WebRTC connections",
5
5
  "author": "",
6
6
  "license": "Apache-2.0 OR MIT",
package/src/sdp.ts CHANGED
@@ -15,6 +15,37 @@ const log = logger('libp2p:webrtc:sdp')
15
15
  // @ts-expect-error - Not easy to combine these types.
16
16
  export const mbdecoder: any = Object.values(bases).map(b => b.decoder).reduce((d, b) => d.or(b))
17
17
 
18
+ export function getLocalFingerprint (pc: RTCPeerConnection): string | undefined {
19
+ // try to fetch fingerprint from local certificate
20
+ const localCert = pc.getConfiguration().certificates?.at(0)
21
+ if (localCert == null || localCert.getFingerprints == null) {
22
+ log.trace('fetching fingerprint from local SDP')
23
+ const localDescription = pc.localDescription
24
+ if (localDescription == null) {
25
+ return undefined
26
+ }
27
+ return getFingerprintFromSdp(localDescription.sdp)
28
+ }
29
+
30
+ log.trace('fetching fingerprint from local certificate')
31
+
32
+ if (localCert.getFingerprints().length === 0) {
33
+ return undefined
34
+ }
35
+
36
+ const fingerprint = localCert.getFingerprints()[0].value
37
+ if (fingerprint == null) {
38
+ throw invalidFingerprint('', 'no fingerprint on local certificate')
39
+ }
40
+
41
+ return fingerprint
42
+ }
43
+
44
+ const fingerprintRegex = /^a=fingerprint:(?:\w+-[0-9]+)\s(?<fingerprint>(:?[0-9a-fA-F]{2})+)$/m
45
+ export function getFingerprintFromSdp (sdp: string): string | undefined {
46
+ const searchResult = sdp.match(fingerprintRegex)
47
+ return searchResult?.groups?.fingerprint
48
+ }
18
49
  /**
19
50
  * Get base2 | identity decoders
20
51
  */
package/src/stream.ts CHANGED
@@ -213,6 +213,7 @@ export class WebRTCStream implements Stream {
213
213
 
214
214
  constructor (opts: StreamInitOpts) {
215
215
  this.channel = opts.channel
216
+ this.channel.binaryType = 'arraybuffer'
216
217
  this.id = this.channel.label
217
218
 
218
219
  this.stat = opts.stat
package/src/transport.ts CHANGED
@@ -118,6 +118,7 @@ export class WebRTCDirectTransport implements Transport {
118
118
  namedCurve: 'P-256',
119
119
  hash: sdp.toSupportedHashFunction(remoteCerthash.name)
120
120
  } as any)
121
+
121
122
  const peerConnection = new RTCPeerConnection({ certificates: [certificate] })
122
123
 
123
124
  // create data channel for running the noise handshake. Once the data channel is opened,
@@ -181,12 +182,24 @@ export class WebRTCDirectTransport implements Transport {
181
182
  source: {
182
183
  [Symbol.asyncIterator]: async function * () {
183
184
  for await (const list of wrappedChannel.source) {
184
- yield list.subarray()
185
+ for (const buf of list) {
186
+ yield buf
187
+ }
185
188
  }
186
189
  }
187
190
  }
188
191
  }
189
192
 
193
+ // Creating the connection before completion of the noise
194
+ // handshake ensures that the stream opening callback is set up
195
+ const maConn = new WebRTCMultiaddrConnection({
196
+ peerConnection,
197
+ remoteAddr: ma,
198
+ timeline: {
199
+ open: Date.now()
200
+ }
201
+ })
202
+
190
203
  const eventListeningName = isFirefox ? 'iceconnectionstatechange' : 'connectionstatechange'
191
204
 
192
205
  peerConnection.addEventListener(eventListeningName, () => {
@@ -206,16 +219,6 @@ export class WebRTCDirectTransport implements Transport {
206
219
  }
207
220
  }, { signal })
208
221
 
209
- // Creating the connection before completion of the noise
210
- // handshake ensures that the stream opening callback is set up
211
- const maConn = new WebRTCMultiaddrConnection({
212
- peerConnection,
213
- remoteAddr: ma,
214
- timeline: {
215
- open: Date.now()
216
- }
217
- })
218
-
219
222
  const muxerFactory = new DataChannelMuxerFactory(peerConnection)
220
223
 
221
224
  // For outbound connections, the remote is expected to start the noise handshake.
@@ -234,19 +237,12 @@ export class WebRTCDirectTransport implements Transport {
234
237
  throw invalidArgument('no local certificate')
235
238
  }
236
239
 
237
- const localCert = pc.getConfiguration().certificates?.at(0)
238
-
239
- if (localCert === undefined || localCert.getFingerprints().length === 0) {
240
- throw invalidArgument('no fingerprint on local certificate')
241
- }
242
-
243
- const localFingerprint = localCert.getFingerprints()[0]
244
-
245
- if (localFingerprint.value === undefined) {
246
- throw invalidArgument('no fingerprint on local certificate')
240
+ const localFingerprint = sdp.getLocalFingerprint(pc)
241
+ if (localFingerprint == null) {
242
+ throw invalidArgument('no local fingerprint found')
247
243
  }
248
244
 
249
- const localFpString = localFingerprint.value.replace(/:/g, '')
245
+ const localFpString = localFingerprint.trim().toLowerCase().replaceAll(':', '')
250
246
  const localFpArray = uint8arrayFromString(localFpString, 'hex')
251
247
  const local = multihashes.encode(localFpArray, hashCode)
252
248
  const remote: Uint8Array = sdp.mbdecoder.decode(sdp.certhash(ma))