@p0security/cli 0.20.7 → 0.21.1
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/build/dist/opentelemetry/buffered-exporter.js +29 -4
- package/build/dist/opentelemetry/buffered-exporter.js.map +1 -1
- package/build/dist/plugins/azure/login.js +8 -7
- package/build/dist/plugins/azure/login.js.map +1 -1
- package/build/dist/plugins/google/login.js +9 -5
- package/build/dist/plugins/google/login.js.map +1 -1
- package/build/dist/plugins/oidc/login.js +8 -7
- package/build/dist/plugins/oidc/login.js.map +1 -1
- package/build/dist/plugins/self-hosted/ssh.js +5 -1
- package/build/dist/plugins/self-hosted/ssh.js.map +1 -1
- package/build/dist/util.d.ts +11 -0
- package/build/dist/util.js +52 -1
- package/build/dist/util.js.map +1 -1
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -46,7 +46,13 @@ class BufferedSpanExporter {
|
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
48
|
if (this.delegate) {
|
|
49
|
-
|
|
49
|
+
try {
|
|
50
|
+
this.delegate.export(spans, resultCallback);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
// Silently ignore export errors - traces are best-effort telemetry
|
|
54
|
+
resultCallback({ code: core_1.ExportResultCode.FAILED });
|
|
55
|
+
}
|
|
50
56
|
}
|
|
51
57
|
else {
|
|
52
58
|
this.buffer.push(...spans);
|
|
@@ -57,7 +63,12 @@ class BufferedSpanExporter {
|
|
|
57
63
|
var _a, _b;
|
|
58
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
65
|
if (this.delegate) {
|
|
60
|
-
|
|
66
|
+
try {
|
|
67
|
+
yield ((_b = (_a = this.delegate).forceFlush) === null || _b === void 0 ? void 0 : _b.call(_a));
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// Silently ignore flush errors
|
|
71
|
+
}
|
|
61
72
|
}
|
|
62
73
|
});
|
|
63
74
|
}
|
|
@@ -65,7 +76,12 @@ class BufferedSpanExporter {
|
|
|
65
76
|
return __awaiter(this, void 0, void 0, function* () {
|
|
66
77
|
this.isShutdown = true;
|
|
67
78
|
if (this.delegate) {
|
|
68
|
-
|
|
79
|
+
try {
|
|
80
|
+
yield this.delegate.shutdown();
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
// Silently ignore shutdown errors
|
|
84
|
+
}
|
|
69
85
|
}
|
|
70
86
|
});
|
|
71
87
|
}
|
|
@@ -75,7 +91,16 @@ class BufferedSpanExporter {
|
|
|
75
91
|
this.delegate = exporter;
|
|
76
92
|
if (this.buffer.length > 0) {
|
|
77
93
|
const toFlush = this.buffer.splice(0);
|
|
78
|
-
|
|
94
|
+
try {
|
|
95
|
+
this.delegate.export(toFlush, (result) => {
|
|
96
|
+
if (result.code === core_1.ExportResultCode.FAILED) {
|
|
97
|
+
// Silently ignore export failures
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
// Silently ignore export errors
|
|
103
|
+
}
|
|
79
104
|
}
|
|
80
105
|
}
|
|
81
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffered-exporter.js","sourceRoot":"","sources":["../../../src/opentelemetry/buffered-exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAa,oBAAoB;IAAjC;QACU,WAAM,GAAmB,EAAE,CAAC;QAC5B,aAAQ,GAA6B,SAAS,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"buffered-exporter.js","sourceRoot":"","sources":["../../../src/opentelemetry/buffered-exporter.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,8CAAqE;AAGrE;;;;;;;;;;;;GAYG;AACH,MAAa,oBAAoB;IAAjC;QACU,WAAM,GAAmB,EAAE,CAAC;QAC5B,aAAQ,GAA6B,SAAS,CAAC;QAC/C,eAAU,GAAG,KAAK,CAAC;IAgE7B,CAAC;IA9DC,MAAM,CACJ,KAAqB,EACrB,cAA8C;QAE9C,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,OAAO;SACR;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;aAC7C;YAAC,OAAO,KAAK,EAAE;gBACd,mEAAmE;gBACnE,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;aACnD;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;YAC3B,cAAc,CAAC,EAAE,IAAI,EAAE,uBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;SACpD;IACH,CAAC;IAEK,UAAU;;;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,QAAQ,EAAC,UAAU,kDAAI,CAAA,CAAC;iBACpC;gBAAC,OAAO,KAAK,EAAE;oBACd,+BAA+B;iBAChC;aACF;;KAEF;IAEK,QAAQ;;YACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI;oBACF,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;iBAChC;gBAAC,OAAO,KAAK,EAAE;oBACd,kCAAkC;iBACnC;aACF;QACH,CAAC;KAAA;IAED,oBAAoB,CAAC,QAAsB;QACzC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI;gBACF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;oBACvC,IAAI,MAAM,CAAC,IAAI,KAAK,uBAAgB,CAAC,MAAM,EAAE;wBAC3C,kCAAkC;qBACnC;gBACH,CAAC,CAAC,CAAC;aACJ;YAAC,OAAO,KAAK,EAAE;gBACd,gCAAgC;aACjC;SACF;IACH,CAAC;CACF;AAnED,oDAmEC"}
|
|
@@ -27,7 +27,7 @@ const oidc_1 = require("../../common/auth/oidc");
|
|
|
27
27
|
const server_1 = require("../../common/auth/server");
|
|
28
28
|
const fetch_1 = require("../../common/fetch");
|
|
29
29
|
const stdio_1 = require("../../drivers/stdio");
|
|
30
|
-
const
|
|
30
|
+
const util_1 = require("../../util");
|
|
31
31
|
const pkce_challenge_1 = __importDefault(require("pkce-challenge"));
|
|
32
32
|
const AZURE_SCOPE = "openid profile email offline_access";
|
|
33
33
|
const AZURE_REDIRECT_PORT = 52701;
|
|
@@ -49,14 +49,15 @@ const requestAuth = (org) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
49
49
|
state: "azure_login",
|
|
50
50
|
};
|
|
51
51
|
const url = `${baseUrl}?${(0, fetch_1.urlEncode)(authBody)}`;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
try {
|
|
53
|
+
yield (0, util_1.osSafeOpen)(url);
|
|
54
|
+
(0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
|
|
55
|
+
}
|
|
56
|
+
catch (_a) {
|
|
57
|
+
(0, stdio_1.print1)(`Please visit the following URL to continue login:
|
|
57
58
|
|
|
58
59
|
${url}`);
|
|
59
|
-
}
|
|
60
|
+
}
|
|
60
61
|
return pkce;
|
|
61
62
|
});
|
|
62
63
|
const requestToken = (org, code, pkce) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/azure/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,+CAA6C;AAG7C,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/azure/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,+CAA6C;AAG7C,qCAAwC;AACxC,oEAA2C;AAE3C,MAAM,WAAW,GAAG,qCAAqC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,KAAK,CAAC;AAClC,MAAM,kBAAkB,GAAG,oBAAoB,mBAAmB,EAAE,CAAC;AACrE,MAAM,WAAW,GAAG,GAAG,CAAC;AAOxB,MAAM,WAAW,GAAG,CAAO,GAAY,EAAE,EAAE;IACzC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,qCAAqC,GAAG,CAAC,cAAc,wBAAwB,CAAC;IAEhG,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,kBAAkB;QAChC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,WAAW;QAClB,KAAK,EAAE,aAAa;KACrB,CAAC;IAEF,MAAM,GAAG,GAAG,GAAG,OAAO,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IAEhD,IAAI;QACF,MAAM,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;QACtB,IAAA,cAAM,EAAC,iEAAiE,CAAC,CAAC;KAC3E;IAAC,WAAM;QACN,IAAA,cAAM,EAAC;;MAEL,GAAG,EAAE,CAAC,CAAC;KACV;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,GAAY,EACZ,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE;QACvB,MAAM,oDAAoD,CAAC;KAC5D;IAED,MAAM,QAAQ,GAAG,qCAAqC,GAAG,CAAC,cAAc,oBAAoB,CAAC;IAE7F,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,GAAG,CAAC,QAAQ;QACvB,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,kBAAkB;KACjC,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,MAAM;QACd,OAAO,kCACF,mBAAY,KACf,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAE,kBAAkB,GAC3B;QACD,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,UAAU,GAAG,CAAO,GAAY,EAA0B,EAAE;IACvE,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,CAAC,GAAG,CAAC,CAAA,GAAA,EAClC,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAChE,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAC9B,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,UAAU,cAMrB"}
|
|
@@ -28,7 +28,7 @@ const server_1 = require("../../common/auth/server");
|
|
|
28
28
|
const fetch_1 = require("../../common/fetch");
|
|
29
29
|
const config_1 = require("../../drivers/config");
|
|
30
30
|
const stdio_1 = require("../../drivers/stdio");
|
|
31
|
-
const
|
|
31
|
+
const util_1 = require("../../util");
|
|
32
32
|
const pkce_challenge_1 = __importDefault(require("pkce-challenge"));
|
|
33
33
|
const GOOGLE_OIDC_URL = "https://accounts.google.com/o/oauth2/v2/auth";
|
|
34
34
|
const GOOGLE_OIDC_EXCHANGE_URL = "https://oauth2.googleapis.com/token";
|
|
@@ -47,11 +47,15 @@ const requestAuth = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
47
47
|
scope: "openid email",
|
|
48
48
|
};
|
|
49
49
|
const url = `${GOOGLE_OIDC_URL}?${(0, fetch_1.urlEncode)(authBody)}`;
|
|
50
|
-
|
|
51
|
-
(0,
|
|
50
|
+
try {
|
|
51
|
+
yield (0, util_1.osSafeOpen)(url);
|
|
52
|
+
(0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
|
|
53
|
+
}
|
|
54
|
+
catch (_a) {
|
|
55
|
+
(0, stdio_1.print1)(`Please visit the following URL to continue login:
|
|
52
56
|
|
|
53
|
-
${url}`);
|
|
54
|
-
}
|
|
57
|
+
${url}`);
|
|
58
|
+
}
|
|
55
59
|
return pkce;
|
|
56
60
|
});
|
|
57
61
|
const requestToken = (code, pkce) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/google/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,iDAA6D;AAC7D,+CAA6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/google/login.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,iDAAsD;AACtD,qDAA8D;AAC9D,8CAAiE;AACjE,iDAA6D;AAC7D,+CAA6C;AAE7C,qCAAwC;AACxC,oEAA2C;AAO3C,MAAM,eAAe,GAAG,8CAA8C,CAAC;AACvE,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AACvE,MAAM,yBAAyB,GAAG,KAAK,CAAC;AACxC,MAAM,wBAAwB,GAAG,oBAAoB,yBAAyB,EAAE,CAAC;AACjF,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB,MAAM,WAAW,GAAG,GAAS,EAAE;IAC7B,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,IAAA,wBAAa,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAqB;QACjC,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,qBAAqB,EAAE,MAAM;QAC7B,YAAY,EAAE,wBAAwB;QACtC,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,cAAc;KACtB,CAAC;IACF,MAAM,GAAG,GAAG,GAAG,eAAe,IAAI,IAAA,iBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;IACxD,IAAI;QACF,MAAM,IAAA,iBAAU,EAAC,GAAG,CAAC,CAAC;QACtB,IAAA,cAAM,EAAC,iEAAiE,CAAC,CAAC;KAC3E;IAAC,WAAM;QACN,IAAA,cAAM,EAAC;;MAEL,GAAG,EAAE,CAAC,CAAC;KACV;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,IAAY,EACZ,IAAuD,EACvD,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,8BAAqB,GAAE,CAAC;IAC7C,MAAM,IAAI,GAAG;QACX,SAAS,EAAE,YAAY,CAAC,MAAM,CAAC,QAAQ;QACvC,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,yBAAyB;QAC5D,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,wBAAwB;KACvC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,wBAAwB,EAAE;QACrD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,mBAAY;QACrB,IAAI,EAAE,IAAA,iBAAS,EAAC,IAAI,CAAC;KACtB,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,MAAM,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAkB,CAAC;AAC/C,CAAC,CAAA,CAAC;AAEK,MAAM,WAAW,GAAG,GAAS,EAAE;IACpC,OAAO,MAAM,IAAA,2BAAkB,EAC7B,GAAS,EAAE,kDAAC,OAAA,MAAM,WAAW,EAAE,CAAA,GAAA,EAC/B,CAAO,IAAI,EAAE,KAAK,EAAE,EAAE,kDAAC,OAAA,MAAM,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA,GAAA,EAC3D,EAAE,IAAI,EAAE,yBAAyB,EAAE,CACpC,CAAC;AACJ,CAAC,CAAA,CAAC;AANW,QAAA,WAAW,eAMtB"}
|
|
@@ -8,9 +8,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.oidcLogin = exports.oidcLoginSteps = exports.waitForActivation = exports.fetchOidcToken = exports.authorize = exports.validateProviderDomain = exports.DEVICE_GRANT_TYPE = void 0;
|
|
16
13
|
/** Copyright © 2024-present P0 Security
|
|
@@ -27,7 +24,6 @@ const oidc_1 = require("../../common/auth/oidc");
|
|
|
27
24
|
const fetch_1 = require("../../common/fetch");
|
|
28
25
|
const stdio_1 = require("../../drivers/stdio");
|
|
29
26
|
const util_1 = require("../../util");
|
|
30
|
-
const open_1 = __importDefault(require("open"));
|
|
31
27
|
exports.DEVICE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
|
|
32
28
|
const validateProviderDomain = (org) => {
|
|
33
29
|
if (!org.providerDomain)
|
|
@@ -159,15 +155,20 @@ const oidcLogin = (steps) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
159
155
|
const { providerType, buildAuthorizeRequest, buildTokenRequest, processAuthzExpiry, processAuthzResponse, validateResponse, } = steps;
|
|
160
156
|
const deviceAuthorizationResponse = yield (0, exports.authorize)(buildAuthorizeRequest(), validateResponse);
|
|
161
157
|
const { user_code, verification_uri_complete } = processAuthzResponse(deviceAuthorizationResponse);
|
|
162
|
-
|
|
163
|
-
|
|
158
|
+
try {
|
|
159
|
+
yield (0, util_1.osSafeOpen)(verification_uri_complete);
|
|
160
|
+
(0, stdio_1.print1)(`Please use the opened browser window to continue your P0 login.`);
|
|
161
|
+
}
|
|
162
|
+
catch (_a) {
|
|
163
|
+
(0, stdio_1.print1)(`Could not open browser automatically. Please visit the following URL in your browser: ${verification_uri_complete}`);
|
|
164
|
+
}
|
|
165
|
+
(0, stdio_1.print2)(`
|
|
164
166
|
When prompted, confirm that ${oidcProviderLabels(providerType)} displays this code:
|
|
165
167
|
|
|
166
168
|
${user_code}
|
|
167
169
|
|
|
168
170
|
Waiting for authorization...
|
|
169
171
|
`);
|
|
170
|
-
void (0, open_1.default)(verification_uri_complete);
|
|
171
172
|
return yield (0, exports.waitForActivation)(deviceAuthorizationResponse, processAuthzExpiry, buildTokenRequest(deviceAuthorizationResponse));
|
|
172
173
|
});
|
|
173
174
|
exports.oidcLogin = oidcLogin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/oidc/login.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../../../src/plugins/oidc/login.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,7 +106,11 @@ exports.selfHostedSshProvider = {
|
|
|
106
106
|
};
|
|
107
107
|
}),
|
|
108
108
|
proxyCommand: (request, port) => {
|
|
109
|
-
|
|
109
|
+
const targetPort = port !== null && port !== void 0 ? port : "22";
|
|
110
|
+
// On Windows, use ncat (from nmap). On Unix/Mac, use nc.
|
|
111
|
+
// Both have the same command line syntax: command localhost port
|
|
112
|
+
const command = (0, util_1.getOperatingSystem)() === "win" ? "ncat" : "nc";
|
|
113
|
+
return [command, request.id, targetPort];
|
|
110
114
|
},
|
|
111
115
|
reproCommands: () => undefined,
|
|
112
116
|
requestToSsh: (request) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/self-hosted/ssh.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;GASG;AACH,mDAA0D;AAC1D,4CAAkD;AAElD,
|
|
1
|
+
{"version":3,"file":"ssh.js","sourceRoot":"","sources":["../../../../src/plugins/self-hosted/ssh.ts"],"names":[],"mappings":"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"}
|
package/build/dist/util.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
/// <reference types="node" />
|
|
11
11
|
import { type ChildProcess, type ChildProcessByStdio, type ChildProcessWithoutNullStreams, type SpawnOptions, type SpawnOptionsWithoutStdio, type SpawnOptionsWithStdioTuple, type StdioNull, type StdioPipe } from "node:child_process";
|
|
12
12
|
import type { Readable } from "node:stream";
|
|
13
|
+
import open from "open";
|
|
13
14
|
/**
|
|
14
15
|
* Creates a clean environment for child processes by removing FIPS OpenSSL configuration
|
|
15
16
|
* variables that could interfere with external tools not designed for our custom setup.
|
|
@@ -85,4 +86,14 @@ export declare const osSafeCommand: (command: string, args: string[]) => {
|
|
|
85
86
|
command: string;
|
|
86
87
|
args: string[];
|
|
87
88
|
};
|
|
89
|
+
/**
|
|
90
|
+
* Wraps the 'open' function to provide a timeout and error handling. This is
|
|
91
|
+
* necessary because on some OSes, 'open' may fail depending on whether the machine
|
|
92
|
+
* has the required dependencies installed (e.g., 'xdg-open' on Linux). Without
|
|
93
|
+
* proper error handling, the promise may hang indefinitely or throw an unhandled exception,
|
|
94
|
+
* which would crash the application entirely.
|
|
95
|
+
* @param target the URL to open
|
|
96
|
+
* @param options options to be passed directly to the 'open' function
|
|
97
|
+
*/
|
|
98
|
+
export declare const osSafeOpen: (target: string, options?: open.Options) => Promise<void>;
|
|
88
99
|
export {};
|
package/build/dist/util.js
CHANGED
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.osSafeCommand = exports.getOperatingSystem = exports.delay = exports.ciEquals = exports.unexpectedValueError = exports.assertNever = exports.conditionalAbortBeforeThrow = exports.throwAssertNever = exports.exec = exports.timeout = exports.sleep = exports.P0_PATH = exports.getAppName = exports.getAppPath = exports.spawnWithCleanEnv = exports.createCleanChildEnv = void 0;
|
|
15
|
+
exports.osSafeOpen = exports.osSafeCommand = exports.getOperatingSystem = exports.delay = exports.ciEquals = exports.unexpectedValueError = exports.assertNever = exports.conditionalAbortBeforeThrow = exports.throwAssertNever = exports.exec = exports.timeout = exports.sleep = exports.P0_PATH = exports.getAppName = exports.getAppPath = exports.spawnWithCleanEnv = exports.createCleanChildEnv = void 0;
|
|
16
16
|
/** Copyright © 2024-present P0 Security
|
|
17
17
|
|
|
18
18
|
This file is part of @p0security/cli
|
|
@@ -28,6 +28,7 @@ const node_child_process_1 = require("node:child_process");
|
|
|
28
28
|
const node_os_1 = __importDefault(require("node:os"));
|
|
29
29
|
const node_path_1 = __importDefault(require("node:path"));
|
|
30
30
|
const node_process_1 = __importDefault(require("node:process"));
|
|
31
|
+
const open_1 = __importDefault(require("open"));
|
|
31
32
|
const typescript_1 = require("typescript");
|
|
32
33
|
/**
|
|
33
34
|
* Creates a clean environment for child processes by removing FIPS OpenSSL configuration
|
|
@@ -185,4 +186,54 @@ const osSafeCommand = (command, args) => {
|
|
|
185
186
|
: { command, args };
|
|
186
187
|
};
|
|
187
188
|
exports.osSafeCommand = osSafeCommand;
|
|
189
|
+
const OPEN_TIMEOUT_MS = 5000;
|
|
190
|
+
/**
|
|
191
|
+
* Wraps the 'open' function to provide a timeout and error handling. This is
|
|
192
|
+
* necessary because on some OSes, 'open' may fail depending on whether the machine
|
|
193
|
+
* has the required dependencies installed (e.g., 'xdg-open' on Linux). Without
|
|
194
|
+
* proper error handling, the promise may hang indefinitely or throw an unhandled exception,
|
|
195
|
+
* which would crash the application entirely.
|
|
196
|
+
* @param target the URL to open
|
|
197
|
+
* @param options options to be passed directly to the 'open' function
|
|
198
|
+
*/
|
|
199
|
+
const osSafeOpen = (target, options) => __awaiter(void 0, void 0, void 0, function* () {
|
|
200
|
+
const child = yield (0, open_1.default)(target, options);
|
|
201
|
+
return new Promise((resolve, reject) => {
|
|
202
|
+
let settled = false;
|
|
203
|
+
const settle = () => {
|
|
204
|
+
settled = true;
|
|
205
|
+
child.removeListener("error", errorHandler);
|
|
206
|
+
child.removeListener("spawn", spawnHandler);
|
|
207
|
+
};
|
|
208
|
+
// Timeout to avoid hanging indefinitely
|
|
209
|
+
const timeout = setTimeout(() => {
|
|
210
|
+
if (!settled) {
|
|
211
|
+
settle();
|
|
212
|
+
reject(new Error("Failed to open target: timeout exceeded"));
|
|
213
|
+
}
|
|
214
|
+
}, OPEN_TIMEOUT_MS);
|
|
215
|
+
const errorHandler = (err) => {
|
|
216
|
+
if (!settled) {
|
|
217
|
+
settle();
|
|
218
|
+
clearTimeout(timeout);
|
|
219
|
+
reject(err);
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
const spawnHandler = () => {
|
|
223
|
+
if (!settled) {
|
|
224
|
+
settle();
|
|
225
|
+
clearTimeout(timeout);
|
|
226
|
+
resolve();
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
// Attach handlers synchronously to catch immediate errors
|
|
230
|
+
child.on("error", errorHandler);
|
|
231
|
+
child.on("spawn", spawnHandler);
|
|
232
|
+
// Handle already-spawned case (process started before handlers attached)
|
|
233
|
+
if (child.pid !== undefined) {
|
|
234
|
+
spawnHandler();
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
exports.osSafeOpen = osSafeOpen;
|
|
188
239
|
//# sourceMappingURL=util.js.map
|
package/build/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"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"}
|