@ai-ecoverse/slicc-kernel 1.173.1 → 1.173.2

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.
@@ -7513,7 +7513,7 @@ var init_version = __esm({
7513
7513
  "src/version.ts"() {
7514
7514
  "use strict";
7515
7515
  init_captured_globals();
7516
- KERNEL_VERSION = true ? "1.173.1" : "0.0.0-dev";
7516
+ KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
7517
7517
  OS_RELEASE = "6.0.0-slicc";
7518
7518
  }
7519
7519
  });
@@ -7512,7 +7512,7 @@ var init_version = __esm({
7512
7512
  "src/version.ts"() {
7513
7513
  "use strict";
7514
7514
  init_captured_globals();
7515
- KERNEL_VERSION = true ? "1.173.1" : "0.0.0-dev";
7515
+ KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
7516
7516
  OS_RELEASE = "6.0.0-slicc";
7517
7517
  }
7518
7518
  });
package/dist/node.js CHANGED
@@ -3702,7 +3702,7 @@ function satisfies(version, range2) {
3702
3702
  }
3703
3703
 
3704
3704
  // src/version.ts
3705
- var KERNEL_VERSION = true ? "1.173.1" : "0.0.0-dev";
3705
+ var KERNEL_VERSION = true ? "1.173.2" : "0.0.0-dev";
3706
3706
  var OS_RELEASE = "6.0.0-slicc";
3707
3707
  function procVersion() {
3708
3708
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -30649,7 +30649,20 @@ var RULE = new RegExp(
30649
30649
  );
30650
30650
  var TERM = /^[A-Za-z0-9._+-]+$/;
30651
30651
  var PLAIN3 = /^[A-Za-z0-9_@%+=:,./-]+$/;
30652
+ var CONTROL = /[\0-\x1f\x7f]/;
30652
30653
  var USAGE = "usage: sudo [-n] [-u user] [--] command [args...]\n sudo -l";
30654
+ function hasControl(text) {
30655
+ return CONTROL.test(text);
30656
+ }
30657
+ function withoutControl(text) {
30658
+ return text.replace(CONTROL, (ch) => {
30659
+ const n = ch.charCodeAt(0);
30660
+ if (n === 9) return "\\t";
30661
+ if (n === 10) return "\\n";
30662
+ if (n === 13) return "\\r";
30663
+ return `\\x${n.toString(16).padStart(2, "0")}`;
30664
+ });
30665
+ }
30653
30666
  function failed3(errno3, error) {
30654
30667
  return { error, errno: errno3 };
30655
30668
  }
@@ -30675,7 +30688,8 @@ function splitWords(text) {
30675
30688
  return words2;
30676
30689
  }
30677
30690
  function quoteWord(word) {
30678
- return PLAIN3.test(word) ? word : `'${word.replaceAll("'", `'\\''`)}'`;
30691
+ const text = hasControl(word) ? withoutControl(word) : word;
30692
+ return PLAIN3.test(text) ? text : `'${text.replaceAll("'", `'\\''`)}'`;
30679
30693
  }
30680
30694
  function addPart(word, part) {
30681
30695
  const last = word.length - 1;
@@ -30811,7 +30825,7 @@ function recordedBare(line, file, rule) {
30811
30825
  const head = `NOPASSWD ${rule.who} (${rule.target}) `;
30812
30826
  const cmnd = `Cmnd ${quoteWord(rule.cmnd.path)}`;
30813
30827
  const cwd = rule.cwd === void 0 ? "" : `Cwd ${quoteWord(rule.cwd)} `;
30814
- return line === `${head}${cwd}${cmnd}`;
30828
+ return line.trimEnd() === `${head}${cwd}${cmnd}`;
30815
30829
  }
30816
30830
  function flags(parsed2, arg, next3) {
30817
30831
  for (let j = 1; j < arg.length; j++) {
@@ -31084,6 +31098,7 @@ ${lines2}
31084
31098
  const { fs } = this.o;
31085
31099
  const path = `${SUDOERS_D}/${self.name}`;
31086
31100
  if (!NAME3.test(self.name)) return false;
31101
+ if (hasControl(cwd) || argv.some(hasControl)) return false;
31087
31102
  try {
31088
31103
  await this.provision();
31089
31104
  if (!await this.trusted(SUDOERS_D)) return false;