@libp2p/tcp 11.0.26 → 11.0.27
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,+BAA+B,EAAc,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAGjC,MAAM,WAAW,gCAAiC,SAAQ,IAAI,CAAC,+BAA+B,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/H,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB;
|
|
1
|
+
{"version":3,"file":"socket-to-conn.d.ts","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC1E,OAAO,KAAK,EAAE,+BAA+B,EAAc,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAA;AAGjC,MAAM,WAAW,gCAAiC,SAAQ,IAAI,CAAC,+BAA+B,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC/H,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,SAAS,CAAA;CACvB;AA+ID;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,MAAM,gCAAgC,KAAG,mBAE9E,CAAA"}
|
|
@@ -88,6 +88,23 @@ class TCPSocketMultiaddrConnection extends AbstractMultiaddrConnection {
|
|
|
88
88
|
await pEvent(this.socket, 'close', options);
|
|
89
89
|
}
|
|
90
90
|
sendReset() {
|
|
91
|
+
if (this.socket.writableEnded) {
|
|
92
|
+
// socket.end() starts the graceful shutdown path, which uses uv_shutdown().
|
|
93
|
+
// resetAndDestroy() calls uv_tcp_close_reset(), which cannot be mixed with
|
|
94
|
+
// uv_shutdown(), so use destroy() after writable end has started.
|
|
95
|
+
// https://docs.libuv.org/en/v1.x/stream.html#c.uv_shutdown
|
|
96
|
+
// https://docs.libuv.org/en/v1.x/tcp.html#c.uv_tcp_close_reset
|
|
97
|
+
this.socket.destroy();
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
// resetAndDestroy() throws ERR_INVALID_HANDLE_TYPE for unix sockets because
|
|
101
|
+
// their handle is a Pipe and not a TCP handle. there is no RST at AF_UNIX
|
|
102
|
+
// so the peer sees a clean EOF rather than a reset
|
|
103
|
+
// https://nodejs.org/api/net.html#socketresetanddestroy
|
|
104
|
+
if (Unix.matches(this.remoteAddr)) {
|
|
105
|
+
this.socket.destroy();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
91
108
|
this.socket.resetAndDestroy();
|
|
92
109
|
}
|
|
93
110
|
sendPause() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/tcp",
|
|
3
|
-
"version": "11.0.
|
|
3
|
+
"version": "11.0.27",
|
|
4
4
|
"description": "A TCP transport for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-tcp#readme",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"test:electron-main": "aegir test -t electron-main"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@libp2p/interface": "^3.
|
|
58
|
-
"@libp2p/utils": "^7.
|
|
57
|
+
"@libp2p/interface": "^3.3.0",
|
|
58
|
+
"@libp2p/utils": "^7.4.0",
|
|
59
59
|
"@multiformats/multiaddr": "^13.0.3",
|
|
60
60
|
"@multiformats/multiaddr-matcher": "^3.0.2",
|
|
61
61
|
"main-event": "^1.0.1",
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"uint8arraylist": "^3.0.2"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
|
-
"@libp2p/logger": "^6.2.
|
|
67
|
+
"@libp2p/logger": "^6.2.13",
|
|
68
68
|
"@types/sinon": "^22.0.0",
|
|
69
69
|
"aegir": "^48.1.1",
|
|
70
70
|
"delay": "^7.0.0",
|
package/src/socket-to-conn.ts
CHANGED
|
@@ -123,6 +123,25 @@ class TCPSocketMultiaddrConnection extends AbstractMultiaddrConnection {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
sendReset (): void {
|
|
126
|
+
if (this.socket.writableEnded) {
|
|
127
|
+
// socket.end() starts the graceful shutdown path, which uses uv_shutdown().
|
|
128
|
+
// resetAndDestroy() calls uv_tcp_close_reset(), which cannot be mixed with
|
|
129
|
+
// uv_shutdown(), so use destroy() after writable end has started.
|
|
130
|
+
// https://docs.libuv.org/en/v1.x/stream.html#c.uv_shutdown
|
|
131
|
+
// https://docs.libuv.org/en/v1.x/tcp.html#c.uv_tcp_close_reset
|
|
132
|
+
this.socket.destroy()
|
|
133
|
+
return
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// resetAndDestroy() throws ERR_INVALID_HANDLE_TYPE for unix sockets because
|
|
137
|
+
// their handle is a Pipe and not a TCP handle. there is no RST at AF_UNIX
|
|
138
|
+
// so the peer sees a clean EOF rather than a reset
|
|
139
|
+
// https://nodejs.org/api/net.html#socketresetanddestroy
|
|
140
|
+
if (Unix.matches(this.remoteAddr)) {
|
|
141
|
+
this.socket.destroy()
|
|
142
|
+
return
|
|
143
|
+
}
|
|
144
|
+
|
|
126
145
|
this.socket.resetAndDestroy()
|
|
127
146
|
}
|
|
128
147
|
|