aboutsummaryrefslogtreecommitdiff
path: root/src/js/out/modules/node/net.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/out/modules/node/net.js')
-rw-r--r--src/js/out/modules/node/net.js54
1 files changed, 35 insertions, 19 deletions
diff --git a/src/js/out/modules/node/net.js b/src/js/out/modules/node/net.js
index 7f3102648..06b2ef6ef 100644
--- a/src/js/out/modules/node/net.js
+++ b/src/js/out/modules/node/net.js
@@ -26,7 +26,7 @@ var isIPv4 = function(s) {
self.emit("listening");
}, createServer = function(options, connectionListener) {
return new Server(options, connectionListener);
-}, v4Seg = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])", v4Str = `(${v4Seg}[.]){3}${v4Seg}`, IPv4Reg = new RegExp(`^${v4Str}$`), v6Seg = "(?:[0-9a-fA-F]{1,4})", IPv6Reg = new RegExp("^(" + `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` + `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` + `(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|` + `(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|` + `(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|` + `(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|` + `(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|` + `(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` + ")(%[0-9a-zA-Z-.:]{1,})?$"), { Bun, createFIFO, Object } = globalThis[Symbol.for("Bun.lazy")]("primordials"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for("::buntls::"), bunSocketServerHandlers = Symbol.for("::bunsocket_serverhandlers::"), bunSocketServerConnections = Symbol.for("::bunnetserverconnections::"), bunSocketServerOptions = Symbol.for("::bunnetserveroptions::"), bunSocketInternal = Symbol.for("::bunnetsocketinternal::"), SocketClass, Socket = function(InternalSocket) {
+}, v4Seg = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])", v4Str = `(${v4Seg}[.]){3}${v4Seg}`, IPv4Reg = new RegExp(`^${v4Str}$`), v6Seg = "(?:[0-9a-fA-F]{1,4})", IPv6Reg = new RegExp("^(" + `(?:${v6Seg}:){7}(?:${v6Seg}|:)|` + `(?:${v6Seg}:){6}(?:${v4Str}|:${v6Seg}|:)|` + `(?:${v6Seg}:){5}(?::${v4Str}|(:${v6Seg}){1,2}|:)|` + `(?:${v6Seg}:){4}(?:(:${v6Seg}){0,1}:${v4Str}|(:${v6Seg}){1,3}|:)|` + `(?:${v6Seg}:){3}(?:(:${v6Seg}){0,2}:${v4Str}|(:${v6Seg}){1,4}|:)|` + `(?:${v6Seg}:){2}(?:(:${v6Seg}){0,3}:${v4Str}|(:${v6Seg}){1,5}|:)|` + `(?:${v6Seg}:){1}(?:(:${v6Seg}){0,4}:${v4Str}|(:${v6Seg}){1,6}|:)|` + `(?::((?::${v6Seg}){0,5}:${v4Str}|(?::${v6Seg}){1,7}|:))` + ")(%[0-9a-zA-Z-.:]{1,})?$"), { Bun, createFIFO, Object } = globalThis[Symbol.for("Bun.lazy")]("primordials"), { connect: bunConnect } = Bun, { setTimeout } = globalThis, bunTlsSymbol = Symbol.for("::buntls::"), bunSocketServerHandlers = Symbol.for("::bunsocket_serverhandlers::"), bunSocketServerConnections = Symbol.for("::bunnetserverconnections::"), bunSocketServerOptions = Symbol.for("::bunnetserveroptions::"), bunSocketInternal = Symbol.for("::bunnetsocketinternal::"), bunTLSConnectOptions = Symbol.for("::buntlsconnectoptions::"), SocketClass, Socket = function(InternalSocket) {
return SocketClass = InternalSocket, Object.defineProperty(SocketClass.prototype, Symbol.toStringTag, {
value: "Socket",
enumerable: !1
@@ -62,13 +62,26 @@ var isIPv4 = function(s) {
},
open(socket) {
const self = socket.data;
- if (socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1, !self.#upgraded)
+ socket.timeout(self.timeout), socket.ref(), self[bunSocketInternal] = socket, self.connecting = !1;
+ const options = self[bunTLSConnectOptions];
+ if (options) {
+ const { session } = options;
+ if (session)
+ self.setSession(session);
+ }
+ if (!self.#upgraded)
self.emit("connect", self);
Socket2.#Drain(socket);
},
handshake(socket, success, verifyError) {
const { data: self } = socket;
- if (self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {
+ self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self.emit("secure", self);
+ const { checkServerIdentity } = self[bunTLSConnectOptions];
+ if (!verifyError && typeof checkServerIdentity === "function" && self.servername) {
+ const cert = self.getPeerCertificate(!0);
+ verifyError = checkServerIdentity(self.servername, cert);
+ }
+ if (self._requestCert || self._rejectUnauthorized) {
if (verifyError) {
if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {
self.destroy(verifyError);
@@ -138,8 +151,9 @@ var isIPv4 = function(s) {
connectionListener(_socket);
self.emit("connection", _socket);
},
- handshake({ data: self }, success, verifyError) {
- if (self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {
+ handshake(socket, success, verifyError) {
+ const { data: self } = socket;
+ if (self.emit("secure", self), self._securePending = !1, self.secureConnecting = !1, self._secureEstablished = !!success, self._requestCert || self._rejectUnauthorized) {
if (verifyError) {
if (self.authorized = !1, self.authorizationError = verifyError.code || verifyError.message, self._rejectUnauthorized) {
self.destroy(verifyError);
@@ -148,7 +162,7 @@ var isIPv4 = function(s) {
}
} else
self.authorized = !0;
- self.emit("secureConnect", verifyError);
+ self.emit("secureConnection", verifyError);
},
error(socket, error) {
Socket2.#Handlers.error(socket, error), this.data.emit("error", error);
@@ -166,6 +180,7 @@ var isIPv4 = function(s) {
#readQueue = createFIFO();
remotePort;
[bunSocketInternal] = null;
+ [bunTLSConnectOptions] = null;
timeout = 0;
#writeCallback;
#writeChunk;
@@ -199,10 +214,12 @@ var isIPv4 = function(s) {
return this.writableLength;
}
#attach(port, socket) {
- this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, this.emit("connect", this), Socket2.#Drain(socket);
+ if (this.remotePort = port, socket.data = this, socket.timeout(this.timeout), socket.ref(), this[bunSocketInternal] = socket, this.connecting = !1, !this.#upgraded)
+ this.emit("connect", this);
+ Socket2.#Drain(socket);
}
connect(port, host, connectListener) {
- var path, connection = this.#socket;
+ var path, connection = this.#socket, _checkServerIdentity = void 0;
if (typeof port === "string") {
if (path = port, port = void 0, typeof host === "function")
connectListener = host, host = void 0;
@@ -228,9 +245,11 @@ var isIPv4 = function(s) {
requestCert,
rejectUnauthorized,
pauseOnConnect,
- servername
+ servername,
+ checkServerIdentity,
+ session
} = port;
- if (this.servername = servername, socket)
+ if (_checkServerIdentity = checkServerIdentity, this.servername = servername, socket)
connection = socket;
}
if (!pauseOnConnect)
@@ -240,12 +259,7 @@ var isIPv4 = function(s) {
var tls = void 0;
if (typeof bunTLS === "function") {
if (tls = bunTLS.call(this, port, host, !0), this._requestCert = !0, this._rejectUnauthorized = rejectUnauthorized, tls) {
- if (typeof tls !== "object")
- tls = {
- rejectUnauthorized,
- requestCert: !0
- };
- else if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, !connection && tls.socket)
+ if (tls.rejectUnauthorized = rejectUnauthorized, tls.requestCert = !0, tls.session = session || tls.session, this.servername = tls.servername, tls.checkServerIdentity = _checkServerIdentity || tls.checkServerIdentity, this[bunTLSConnectOptions] = tls, !connection && tls.socket)
connection = tls.socket;
}
if (connection) {
@@ -491,10 +505,12 @@ class Server extends EventEmitter {
}
try {
var tls = void 0, TLSSocketClass = void 0;
- const bunTLS = this[bunTlsSymbol];
+ const bunTLS = this[bunTlsSymbol], options = this[bunSocketServerOptions];
if (typeof bunTLS === "function")
- [tls, TLSSocketClass] = bunTLS.call(this, port, hostname, !1);
- this[bunSocketServerOptions].InternalSocketClass = TLSSocketClass || SocketClass, this.#server = Bun.listen(path ? {
+ [tls, TLSSocketClass] = bunTLS.call(this, port, hostname, !1), options.servername = tls.serverName, options.InternalSocketClass = TLSSocketClass;
+ else
+ options.InternalSocketClass = SocketClass;
+ this.#server = Bun.listen(path ? {
exclusive,
unix: path,
tls,