@libp2p/webrtc 5.2.2 → 5.2.3
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 +4 -4
- package/dist/src/constants.d.ts +6 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +6 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/private-to-public/listener.d.ts.map +1 -1
- package/dist/src/private-to-public/listener.js +1 -6
- package/dist/src/private-to-public/listener.js.map +1 -1
- package/dist/src/private-to-public/transport.d.ts +0 -12
- package/dist/src/private-to-public/transport.d.ts.map +1 -1
- package/dist/src/private-to-public/transport.js +1 -17
- package/dist/src/private-to-public/transport.js.map +1 -1
- package/dist/src/private-to-public/utils/connect.js +13 -4
- package/dist/src/private-to-public/utils/connect.js.map +1 -1
- package/dist/src/private-to-public/utils/sdp.js +2 -2
- package/dist/src/private-to-public/utils/sdp.js.map +1 -1
- package/package.json +1 -1
- package/src/constants.ts +7 -0
- package/src/private-to-public/listener.ts +1 -7
- package/src/private-to-public/transport.ts +1 -20
- package/src/private-to-public/utils/connect.ts +13 -4
- package/src/private-to-public/utils/sdp.ts +2 -2
package/dist/src/constants.d.ts
CHANGED
@@ -9,4 +9,10 @@
|
|
9
9
|
export declare const DEFAULT_ICE_SERVERS: string[];
|
10
10
|
export declare const UFRAG_ALPHABET: string[];
|
11
11
|
export declare const UFRAG_PREFIX = "libp2p+webrtc+v1/";
|
12
|
+
/**
|
13
|
+
* The time to wait, in milliseconds, for the data channel handshake to complete
|
14
|
+
*/
|
15
|
+
export declare const HANDSHAKE_TIMEOUT_MS = 10000;
|
16
|
+
export declare const CODEC_WEBRTC_DIRECT = 280;
|
17
|
+
export declare const CODEC_CERTHASH = 466;
|
12
18
|
//# sourceMappingURL=constants.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAA;AAED,eAAO,MAAM,cAAc,UAA+E,CAAA;AAE1G,eAAO,MAAM,YAAY,sBAAsB,CAAA"}
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAA;AAED,eAAO,MAAM,cAAc,UAA+E,CAAA;AAE1G,eAAO,MAAM,YAAY,sBAAsB,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAS,CAAA;AAC1C,eAAO,MAAM,mBAAmB,MAAS,CAAA;AACzC,eAAO,MAAM,cAAc,MAAS,CAAA"}
|
package/dist/src/constants.js
CHANGED
@@ -14,4 +14,10 @@ export const DEFAULT_ICE_SERVERS = [
|
|
14
14
|
];
|
15
15
|
export const UFRAG_ALPHABET = Array.from('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890');
|
16
16
|
export const UFRAG_PREFIX = 'libp2p+webrtc+v1/';
|
17
|
+
/**
|
18
|
+
* The time to wait, in milliseconds, for the data channel handshake to complete
|
19
|
+
*/
|
20
|
+
export const HANDSHAKE_TIMEOUT_MS = 10_000;
|
21
|
+
export const CODEC_WEBRTC_DIRECT = 0x0118;
|
22
|
+
export const CODEC_CERTHASH = 0x01d2;
|
17
23
|
//# sourceMappingURL=constants.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,8BAA8B;IAC9B,kCAAkC;IAClC,+BAA+B;IAC/B,qCAAqC;CACtC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;AAE1G,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAA"}
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,8BAA8B;IAC9B,kCAAkC;IAClC,+BAA+B;IAC/B,qCAAqC;CACtC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,gEAAgE,CAAC,CAAA;AAE1G,MAAM,CAAC,MAAM,YAAY,GAAG,mBAAmB,CAAA;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAA;AAC1C,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAA;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/listener.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/listener.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAWzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAG3E,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAU,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC/I,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,MAAM,WAAW,8BAA8B;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,MAAM,EAAE,eAAe,CAAA;IACvB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,QAAQ,CAAA;IAClB,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC1F,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,YAAY,CAAA;CAC7B;AAiBD,qBAAa,oBAAqB,SAAQ,iBAAiB,CAAC,cAAc,CAAE,YAAW,QAAQ;IAC7F,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,WAAW,CAAC,CAAsB;IAC1C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA0B;IAC/C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAuB;gBAEnC,UAAU,EAAE,8BAA8B,EAAE,IAAI,EAAE,wBAAwB;IAoBjF,MAAM,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D3C,OAAO,CAAC,iBAAiB;YA2CX,kBAAkB;IAgDhC,QAAQ,IAAK,SAAS,EAAE;IAIxB,mBAAmB,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IA4B7C,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;CA0B9B"}
|
@@ -6,17 +6,12 @@ import { IP4, WebRTCDirect } from '@multiformats/multiaddr-matcher';
|
|
6
6
|
import { Crypto } from '@peculiar/webcrypto';
|
7
7
|
import getPort from 'get-port';
|
8
8
|
import pWaitFor from 'p-wait-for';
|
9
|
+
import { CODEC_CERTHASH, CODEC_WEBRTC_DIRECT, HANDSHAKE_TIMEOUT_MS } from '../constants.js';
|
9
10
|
import { connect } from './utils/connect.js';
|
10
11
|
import { generateTransportCertificate } from './utils/generate-certificates.js';
|
11
12
|
import { createDialerRTCPeerConnection } from './utils/get-rtcpeerconnection.js';
|
12
13
|
import { stunListener } from './utils/stun-listener.js';
|
13
14
|
const crypto = new Crypto();
|
14
|
-
/**
|
15
|
-
* The time to wait, in milliseconds, for the data channel handshake to complete
|
16
|
-
*/
|
17
|
-
const HANDSHAKE_TIMEOUT_MS = 10_000;
|
18
|
-
const CODEC_WEBRTC_DIRECT = 0x0118;
|
19
|
-
const CODEC_CERTHASH = 0x01d2;
|
20
15
|
const UDP_PROTOCOL = protocols('udp');
|
21
16
|
const IP4_PROTOCOL = protocols('ip4');
|
22
17
|
const IP6_PROTOCOL = protocols('ip6');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../src/private-to-public/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,OAAO,MAAM,UAAU,CAAA;AAC9B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAA;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAOvD,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../../src/private-to-public/listener.ts"],"names":[],"mappings":"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"}
|
@@ -4,18 +4,6 @@ import type { WebRTCDialEvents } from '../private-to-private/transport.js';
|
|
4
4
|
import type { CreateListenerOptions, Transport, Listener, ComponentLogger, Connection, CounterGroup, Metrics, PeerId, DialTransportOptions, PrivateKey } from '@libp2p/interface';
|
5
5
|
import type { TransportManager } from '@libp2p/interface-internal';
|
6
6
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
7
|
-
/**
|
8
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
9
|
-
*
|
10
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
11
|
-
*/
|
12
|
-
export declare const WEBRTC_CODE: number;
|
13
|
-
/**
|
14
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
15
|
-
*
|
16
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
17
|
-
*/
|
18
|
-
export declare const CERTHASH_CODE: number;
|
19
7
|
/**
|
20
8
|
* The peer for this transport
|
21
9
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AASxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAU,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACzL,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AASxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAU,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACzL,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE,eAAe,CAAA;IACvB,gBAAgB,EAAE,gBAAgB,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,YAAY,CAAA;CAC3B;AAED,MAAM,WAAW,yBAAyB;IACxC,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAC1F,WAAW,CAAC,EAAE,kBAAkB,CAAA;IAChC,YAAY,CAAC,EAAE,oBAAoB,EAAE,CAAA;IAErC;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,qBAAa,qBAAsB,YAAW,SAAS;IACrD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA2B;gBAEnC,UAAU,EAAE,+BAA+B,EAAE,IAAI,GAAE,yBAA8B;IAe9F,QAAQ,CAAC,CAAC,eAAe,CAAC,QAAO;IAEjC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA0B;IAEvD,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAEvC;IAED;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;IAOhG;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAOzD;;OAEG;IACH,YAAY,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAInD;;OAEG;IACH,UAAU,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAIjD;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAgCrG"}
|
@@ -1,28 +1,12 @@
|
|
1
1
|
import { serviceCapabilities, transportSymbol } from '@libp2p/interface';
|
2
2
|
import { peerIdFromString } from '@libp2p/peer-id';
|
3
|
-
import { protocols } from '@multiformats/multiaddr';
|
4
3
|
import { WebRTCDirect } from '@multiformats/multiaddr-matcher';
|
5
4
|
import { raceSignal } from 'race-signal';
|
5
|
+
import { HANDSHAKE_TIMEOUT_MS } from '../constants.js';
|
6
6
|
import { genUfrag } from '../util.js';
|
7
7
|
import { WebRTCDirectListener } from './listener.js';
|
8
8
|
import { connect } from './utils/connect.js';
|
9
9
|
import { createDialerRTCPeerConnection } from './utils/get-rtcpeerconnection.js';
|
10
|
-
/**
|
11
|
-
* The time to wait, in milliseconds, for the data channel handshake to complete
|
12
|
-
*/
|
13
|
-
const HANDSHAKE_TIMEOUT_MS = 10_000;
|
14
|
-
/**
|
15
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
16
|
-
*
|
17
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
18
|
-
*/
|
19
|
-
export const WEBRTC_CODE = protocols('webrtc-direct').code;
|
20
|
-
/**
|
21
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
22
|
-
*
|
23
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
24
|
-
*/
|
25
|
-
export const CERTHASH_CODE = protocols('certhash').code;
|
26
10
|
export class WebRTCDirectTransport {
|
27
11
|
log;
|
28
12
|
metrics;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAClD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"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"}
|
@@ -102,6 +102,7 @@ export async function connect(peerConnection, ufrag, options) {
|
|
102
102
|
case 'closed':
|
103
103
|
maConn.close().catch((err) => {
|
104
104
|
options.log.error('error closing connection', err);
|
105
|
+
maConn.abort(err);
|
105
106
|
});
|
106
107
|
break;
|
107
108
|
default:
|
@@ -120,23 +121,31 @@ export async function connect(peerConnection, ufrag, options) {
|
|
120
121
|
// Therefore, we need to secure an inbound noise connection from the remote.
|
121
122
|
options.log.trace('%s secure inbound', options.role);
|
122
123
|
await connectionEncrypter.secureInbound(wrappedDuplex, {
|
123
|
-
remotePeer: options.remotePeerId
|
124
|
+
remotePeer: options.remotePeerId,
|
125
|
+
signal: options.signal
|
124
126
|
});
|
125
127
|
options.log.trace('%s upgrade outbound', options.role);
|
126
|
-
return options.upgrader.upgradeOutbound(maConn, {
|
128
|
+
return options.upgrader.upgradeOutbound(maConn, {
|
129
|
+
skipProtection: true,
|
130
|
+
skipEncryption: true,
|
131
|
+
muxerFactory,
|
132
|
+
signal: options.signal
|
133
|
+
});
|
127
134
|
}
|
128
135
|
// For inbound connections, we are expected to start the noise handshake.
|
129
136
|
// Therefore, we need to secure an outbound noise connection from the remote.
|
130
137
|
options.log.trace('%s secure outbound', options.role);
|
131
138
|
const result = await connectionEncrypter.secureOutbound(wrappedDuplex, {
|
132
|
-
remotePeer: options.remotePeerId
|
139
|
+
remotePeer: options.remotePeerId,
|
140
|
+
signal: options.signal
|
133
141
|
});
|
134
142
|
maConn.remoteAddr = maConn.remoteAddr.encapsulate(`/p2p/${result.remotePeer}`);
|
135
143
|
options.log.trace('%s upgrade inbound', options.role);
|
136
144
|
await options.upgrader.upgradeInbound(maConn, {
|
137
145
|
skipProtection: true,
|
138
146
|
skipEncryption: true,
|
139
|
-
muxerFactory
|
147
|
+
muxerFactory,
|
148
|
+
signal: options.signal
|
140
149
|
});
|
141
150
|
}
|
142
151
|
//# sourceMappingURL=connect.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/private-to-public/utils/connect.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../src/private-to-public/utils/connect.ts"],"names":[],"mappings":"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"}
|
@@ -4,9 +4,9 @@ import { base64url } from 'multiformats/bases/base64';
|
|
4
4
|
import { bases, digest } from 'multiformats/basics';
|
5
5
|
import * as Digest from 'multiformats/hashes/digest';
|
6
6
|
import { sha256 } from 'multiformats/hashes/sha2';
|
7
|
+
import { CODEC_CERTHASH } from '../../constants.js';
|
7
8
|
import { InvalidFingerprintError, UnsupportedHashAlgorithmError } from '../../error.js';
|
8
9
|
import { MAX_MESSAGE_SIZE } from '../../stream.js';
|
9
|
-
import { CERTHASH_CODE } from '../transport.js';
|
10
10
|
/**
|
11
11
|
* Get base2 | identity decoders
|
12
12
|
*/
|
@@ -23,7 +23,7 @@ export function getFingerprintFromSdp(sdp) {
|
|
23
23
|
// Extract the certhash from a multiaddr
|
24
24
|
export function certhash(ma) {
|
25
25
|
const tups = ma.stringTuples();
|
26
|
-
const certhash = tups.filter((tup) => tup[0] ===
|
26
|
+
const certhash = tups.filter((tup) => tup[0] === CODEC_CERTHASH).map((tup) => tup[1])[0];
|
27
27
|
if (certhash === undefined || certhash === '') {
|
28
28
|
throw new InvalidParametersError(`Couldn't find a certhash component of multiaddr: ${ma.toString()}`);
|
29
29
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../../../src/private-to-public/utils/sdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../../../src/private-to-public/utils/sdp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/constants.ts
CHANGED
@@ -16,3 +16,10 @@ export const DEFAULT_ICE_SERVERS = [
|
|
16
16
|
export const UFRAG_ALPHABET = Array.from('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890')
|
17
17
|
|
18
18
|
export const UFRAG_PREFIX = 'libp2p+webrtc+v1/'
|
19
|
+
|
20
|
+
/**
|
21
|
+
* The time to wait, in milliseconds, for the data channel handshake to complete
|
22
|
+
*/
|
23
|
+
export const HANDSHAKE_TIMEOUT_MS = 10_000
|
24
|
+
export const CODEC_WEBRTC_DIRECT = 0x0118
|
25
|
+
export const CODEC_CERTHASH = 0x01d2
|
@@ -6,6 +6,7 @@ import { IP4, WebRTCDirect } from '@multiformats/multiaddr-matcher'
|
|
6
6
|
import { Crypto } from '@peculiar/webcrypto'
|
7
7
|
import getPort from 'get-port'
|
8
8
|
import pWaitFor from 'p-wait-for'
|
9
|
+
import { CODEC_CERTHASH, CODEC_WEBRTC_DIRECT, HANDSHAKE_TIMEOUT_MS } from '../constants.js'
|
9
10
|
import { connect } from './utils/connect.js'
|
10
11
|
import { generateTransportCertificate } from './utils/generate-certificates.js'
|
11
12
|
import { createDialerRTCPeerConnection } from './utils/get-rtcpeerconnection.js'
|
@@ -18,13 +19,6 @@ import type { Multiaddr } from '@multiformats/multiaddr'
|
|
18
19
|
|
19
20
|
const crypto = new Crypto()
|
20
21
|
|
21
|
-
/**
|
22
|
-
* The time to wait, in milliseconds, for the data channel handshake to complete
|
23
|
-
*/
|
24
|
-
const HANDSHAKE_TIMEOUT_MS = 10_000
|
25
|
-
const CODEC_WEBRTC_DIRECT = 0x0118
|
26
|
-
const CODEC_CERTHASH = 0x01d2
|
27
|
-
|
28
22
|
export interface WebRTCDirectListenerComponents {
|
29
23
|
peerId: PeerId
|
30
24
|
privateKey: PrivateKey
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { serviceCapabilities, transportSymbol } from '@libp2p/interface'
|
2
2
|
import { peerIdFromString } from '@libp2p/peer-id'
|
3
|
-
import { protocols } from '@multiformats/multiaddr'
|
4
3
|
import { WebRTCDirect } from '@multiformats/multiaddr-matcher'
|
5
4
|
import { raceSignal } from 'race-signal'
|
5
|
+
import { HANDSHAKE_TIMEOUT_MS } from '../constants.js'
|
6
6
|
import { genUfrag } from '../util.js'
|
7
7
|
import { WebRTCDirectListener } from './listener.js'
|
8
8
|
import { connect } from './utils/connect.js'
|
@@ -13,25 +13,6 @@ import type { CreateListenerOptions, Transport, Listener, ComponentLogger, Logge
|
|
13
13
|
import type { TransportManager } from '@libp2p/interface-internal'
|
14
14
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
15
15
|
|
16
|
-
/**
|
17
|
-
* The time to wait, in milliseconds, for the data channel handshake to complete
|
18
|
-
*/
|
19
|
-
const HANDSHAKE_TIMEOUT_MS = 10_000
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
23
|
-
*
|
24
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
25
|
-
*/
|
26
|
-
export const WEBRTC_CODE: number = protocols('webrtc-direct').code
|
27
|
-
|
28
|
-
/**
|
29
|
-
* Created by converting the hexadecimal protocol code to an integer.
|
30
|
-
*
|
31
|
-
* {@link https://github.com/multiformats/multiaddr/blob/master/protocols.csv}
|
32
|
-
*/
|
33
|
-
export const CERTHASH_CODE: number = protocols('certhash').code
|
34
|
-
|
35
16
|
/**
|
36
17
|
* The peer for this transport
|
37
18
|
*/
|
@@ -146,6 +146,7 @@ export async function connect (peerConnection: DirectRTCPeerConnection, ufrag: s
|
|
146
146
|
case 'closed':
|
147
147
|
maConn.close().catch((err) => {
|
148
148
|
options.log.error('error closing connection', err)
|
149
|
+
maConn.abort(err)
|
149
150
|
})
|
150
151
|
break
|
151
152
|
default:
|
@@ -167,18 +168,25 @@ export async function connect (peerConnection: DirectRTCPeerConnection, ufrag: s
|
|
167
168
|
// Therefore, we need to secure an inbound noise connection from the remote.
|
168
169
|
options.log.trace('%s secure inbound', options.role)
|
169
170
|
await connectionEncrypter.secureInbound(wrappedDuplex, {
|
170
|
-
remotePeer: options.remotePeerId
|
171
|
+
remotePeer: options.remotePeerId,
|
172
|
+
signal: options.signal
|
171
173
|
})
|
172
174
|
|
173
175
|
options.log.trace('%s upgrade outbound', options.role)
|
174
|
-
return options.upgrader.upgradeOutbound(maConn, {
|
176
|
+
return options.upgrader.upgradeOutbound(maConn, {
|
177
|
+
skipProtection: true,
|
178
|
+
skipEncryption: true,
|
179
|
+
muxerFactory,
|
180
|
+
signal: options.signal
|
181
|
+
})
|
175
182
|
}
|
176
183
|
|
177
184
|
// For inbound connections, we are expected to start the noise handshake.
|
178
185
|
// Therefore, we need to secure an outbound noise connection from the remote.
|
179
186
|
options.log.trace('%s secure outbound', options.role)
|
180
187
|
const result = await connectionEncrypter.secureOutbound(wrappedDuplex, {
|
181
|
-
remotePeer: options.remotePeerId
|
188
|
+
remotePeer: options.remotePeerId,
|
189
|
+
signal: options.signal
|
182
190
|
})
|
183
191
|
maConn.remoteAddr = maConn.remoteAddr.encapsulate(`/p2p/${result.remotePeer}`)
|
184
192
|
|
@@ -187,6 +195,7 @@ export async function connect (peerConnection: DirectRTCPeerConnection, ufrag: s
|
|
187
195
|
await options.upgrader.upgradeInbound(maConn, {
|
188
196
|
skipProtection: true,
|
189
197
|
skipEncryption: true,
|
190
|
-
muxerFactory
|
198
|
+
muxerFactory,
|
199
|
+
signal: options.signal
|
191
200
|
})
|
192
201
|
}
|
@@ -4,9 +4,9 @@ import { base64url } from 'multiformats/bases/base64'
|
|
4
4
|
import { bases, digest } from 'multiformats/basics'
|
5
5
|
import * as Digest from 'multiformats/hashes/digest'
|
6
6
|
import { sha256 } from 'multiformats/hashes/sha2'
|
7
|
+
import { CODEC_CERTHASH } from '../../constants.js'
|
7
8
|
import { InvalidFingerprintError, UnsupportedHashAlgorithmError } from '../../error.js'
|
8
9
|
import { MAX_MESSAGE_SIZE } from '../../stream.js'
|
9
|
-
import { CERTHASH_CODE } from '../transport.js'
|
10
10
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
11
11
|
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
12
12
|
|
@@ -29,7 +29,7 @@ export function getFingerprintFromSdp (sdp: string | undefined): string | undefi
|
|
29
29
|
// Extract the certhash from a multiaddr
|
30
30
|
export function certhash (ma: Multiaddr): string {
|
31
31
|
const tups = ma.stringTuples()
|
32
|
-
const certhash = tups.filter((tup) => tup[0] ===
|
32
|
+
const certhash = tups.filter((tup) => tup[0] === CODEC_CERTHASH).map((tup) => tup[1])[0]
|
33
33
|
|
34
34
|
if (certhash === undefined || certhash === '') {
|
35
35
|
throw new InvalidParametersError(`Couldn't find a certhash component of multiaddr: ${ma.toString()}`)
|