@ai-ecoverse/slicc-kernel 1.150.1 → 1.151.0

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/node.js CHANGED
@@ -3362,7 +3362,7 @@ function satisfies(version, range2) {
3362
3362
  }
3363
3363
 
3364
3364
  // src/version.ts
3365
- var KERNEL_VERSION = true ? "1.150.1" : "0.0.0-dev";
3365
+ var KERNEL_VERSION = true ? "1.151.0" : "0.0.0-dev";
3366
3366
  var OS_RELEASE = "6.0.0-slicc";
3367
3367
  function procVersion() {
3368
3368
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -14792,8 +14792,10 @@ async function tlsServer(conn, session, clientCerts) {
14792
14792
  await serverHandshake(conn, session, inbox, () => first);
14793
14793
  const chain2 = session.peerChain();
14794
14794
  const code = clientCerts ? verifyCode(session.verifyResult) : void 0;
14795
+ const protocol = session.version === 772 ? "TLSv1.3" : "TLSv1.2";
14795
14796
  const info = {
14796
- protocol: session.version === 772 ? "TLSv1.3" : "TLSv1.2",
14797
+ protocol,
14798
+ cipher: cipherOf(session.ciphersuite, protocol),
14797
14799
  alpnProtocol: session.alpn ?? false,
14798
14800
  servername: session.sni,
14799
14801
  authorized: clientCerts && chain2.length > 0 && code === void 0,
@@ -17992,9 +17994,8 @@ function storeOf(engine, ca) {
17992
17994
  throw new KernelError("EINVAL", `ERR_INVALID_ARG_VALUE: ca: ${err.message}`);
17993
17995
  }
17994
17996
  }
17995
- function flagsOf(req, store) {
17997
+ function flagsOf(req) {
17996
17998
  if (!req.requestCert) return 0;
17997
- if (!store) throw new KernelError("EINVAL", "ERR_INVALID_ARG_VALUE: requestCert needs a ca");
17998
17999
  return req.rejectUnauthorized === false ? TLS_SERVER_REQUEST_CERT : TLS_SERVER_REQUIRE_CERT;
17999
18000
  }
18000
18001
  function timeoutOf(req) {
@@ -18030,10 +18031,11 @@ async function serverOf(proc, req) {
18030
18031
  throw err;
18031
18032
  }
18032
18033
  const leaf = leafOf(engine, cert);
18033
- let store;
18034
+ let mine;
18034
18035
  try {
18035
- store = req.ca && req.ca.length > 0 ? storeOf(engine, req.ca) : void 0;
18036
- const flags2 = flagsOf(req, store);
18036
+ mine = req.ca && req.ca.length > 0 ? storeOf(engine, req.ca) : void 0;
18037
+ const flags2 = flagsOf(req);
18038
+ const store = mine ?? (flags2 ? await defaultStore(engine, supportOf(proc.net).roots) : void 0);
18037
18039
  return {
18038
18040
  engine,
18039
18041
  leaf,
@@ -18043,12 +18045,12 @@ async function serverOf(proc, req) {
18043
18045
  timeoutMs: timeoutOf(req),
18044
18046
  release() {
18045
18047
  leaf.release();
18046
- store?.release();
18048
+ mine?.release();
18047
18049
  }
18048
18050
  };
18049
18051
  } catch (err) {
18050
18052
  leaf.release();
18051
- store?.release();
18053
+ mine?.release();
18052
18054
  throw err;
18053
18055
  }
18054
18056
  }
@@ -18077,7 +18079,8 @@ async function serveSecure(proc, socket, req) {
18077
18079
  servername: info.servername,
18078
18080
  authorized: info.authorized,
18079
18081
  ...info.authorizationError ? { authorizationError: info.authorizationError } : {},
18080
- peerCertificates: info.peerCertificates.map(encode)
18082
+ peerCertificates: info.peerCertificates.map(encode),
18083
+ cipher: info.cipher
18081
18084
  };
18082
18085
  } finally {
18083
18086
  if (!shared) server.release();