@zowe/cli 7.29.30 → 7.29.32

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.
@@ -9,6 +9,7 @@ export declare class DaemonClient {
9
9
  private mClient;
10
10
  private mServer;
11
11
  private mOwner;
12
+ private readonly mDaemonToken;
12
13
  /**
13
14
  * The number of stdin bytes remaining to read from the daemon client.
14
15
  */
@@ -18,9 +19,11 @@ export declare class DaemonClient {
18
19
  * @param {net.Socket} mClient
19
20
  * @param {net.Server} mServer
20
21
  * @param {string} mOwner
22
+ * @param {string} mDaemonToken Secret token that the client must echo back to
23
+ * prove it could read the owner-only PID file.
21
24
  * @memberof DaemonClient
22
25
  */
23
- constructor(mClient: net.Socket, mServer: net.Server, mOwner: string);
26
+ constructor(mClient: net.Socket, mServer: net.Server, mOwner: string, mDaemonToken: string);
24
27
  /**
25
28
  * Run an instance of this client and wait for proper events
26
29
  * @memberof DaemonClient
@@ -60,5 +63,18 @@ export declare class DaemonClient {
60
63
  * @memberof DaemonClient
61
64
  */
62
65
  private data;
66
+ /**
67
+ * Determine whether the token supplied by the daemon client matches the
68
+ * secret token that this daemon stored in its owner-only PID file.
69
+ *
70
+ * The comparison is performed in constant time to avoid leaking how much of
71
+ * the token matched via timing differences.
72
+ *
73
+ * @private
74
+ * @param {string} requestToken The token supplied by the daemon client.
75
+ * @returns {boolean} True if the token is present and matches our token.
76
+ * @memberof DaemonClient
77
+ */
78
+ private isValidToken;
63
79
  }
64
80
  //# sourceMappingURL=DaemonClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DaemonClient.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonClient.ts"],"names":[],"mappings":";AAWA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAM3B;;;;GAIG;AACH,qBAAa,YAAY;IAmBT,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,MAAM;IAZpF;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAK;IAEhC;;;;;;OAMG;gBACiB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAU,OAAO,EAAE,GAAG,CAAC,MAAM,EAAU,MAAM,EAAE,MAAM;IAG5F;;;OAGG;IACI,GAAG;IAOV;;;;OAIG;IACH,OAAO,CAAC,GAAG;IAIX;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;YACW,IAAI;CA4ErB"}
1
+ {"version":3,"file":"DaemonClient.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonClient.ts"],"names":[],"mappings":";AAYA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAM3B;;;;GAIG;AACH,qBAAa,YAAY;IAqBT,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,OAAO;IAAc,OAAO,CAAC,MAAM;IAAU,OAAO,CAAC,QAAQ,CAAC,YAAY;IAd3H;;OAEG;IACH,OAAO,CAAC,mBAAmB,CAAK;IAEhC;;;;;;;;OAQG;gBACiB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAU,OAAO,EAAE,GAAG,CAAC,MAAM,EAAU,MAAM,EAAE,MAAM,EAAmB,YAAY,EAAE,MAAM;IAMnI;;;OAGG;IACI,GAAG;IAOV;;;;OAIG;IACH,OAAO,CAAC,GAAG;IAIX;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IAkBhB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAyBzB;;;;;OAKG;YACW,IAAI;IAkGlB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;CAgBvB"}
@@ -20,6 +20,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.DaemonClient = void 0;
23
+ const crypto = require("crypto");
23
24
  const path = require("path");
24
25
  const stream_1 = require("stream");
25
26
  const imperative_1 = require("@zowe/imperative");
@@ -35,16 +36,22 @@ class DaemonClient {
35
36
  * @param {net.Socket} mClient
36
37
  * @param {net.Server} mServer
37
38
  * @param {string} mOwner
39
+ * @param {string} mDaemonToken Secret token that the client must echo back to
40
+ * prove it could read the owner-only PID file.
38
41
  * @memberof DaemonClient
39
42
  */
40
- constructor(mClient, mServer, mOwner) {
43
+ constructor(mClient, mServer, mOwner, mDaemonToken) {
41
44
  this.mClient = mClient;
42
45
  this.mServer = mServer;
43
46
  this.mOwner = mOwner;
47
+ this.mDaemonToken = mDaemonToken;
44
48
  /**
45
49
  * The number of stdin bytes remaining to read from the daemon client.
46
50
  */
47
51
  this.stdinBytesRemaining = 0;
52
+ if (!this.mDaemonToken) {
53
+ throw new imperative_1.ImperativeError({ msg: "Unable to initialize the Daemon Client without a proper token" });
54
+ }
48
55
  }
49
56
  /**
50
57
  * Run an instance of this client and wait for proper events
@@ -186,6 +193,26 @@ class DaemonClient {
186
193
  this.mClient.end();
187
194
  return;
188
195
  }
196
+ // The user comparison above is advisory only: the client asserts its own
197
+ // user name, which any local process can forge. The real authentication is
198
+ // the token below. Because the token is stored in the owner-only PID file,
199
+ // a client that echoes it back has proven it could read that file, and is
200
+ // therefore the owner. This is what protects the daemon on Windows, where
201
+ // the named pipe can be opened by local users other than the owner.
202
+ if (!this.isValidToken(jsonData.token)) {
203
+ imperative_1.Imperative.api.appLogger.warn("A connection was attempted with a missing or invalid daemon token.");
204
+ const responsePayload = imperative_1.DaemonRequest.create({
205
+ stderr: "The daemon client did not supply a valid daemon token. " +
206
+ "Try restarting the daemon with 'zowe daemon restart'.\n",
207
+ exitCode: 1
208
+ });
209
+ this.mClient.write(responsePayload);
210
+ this.mClient.end();
211
+ return;
212
+ }
213
+ // Token is only used for authenticating the request; clear it so it is not
214
+ // accidentally logged or forwarded to command handlers.
215
+ jsonData.token = undefined;
189
216
  if (jsonData.stdin != null) {
190
217
  if (jsonData.stdin !== DaemonClient.CTRL_C_CHAR) {
191
218
  // This data is related to a prompt reply so we ignore it
@@ -207,6 +234,31 @@ class DaemonClient {
207
234
  }
208
235
  });
209
236
  }
237
+ /**
238
+ * Determine whether the token supplied by the daemon client matches the
239
+ * secret token that this daemon stored in its owner-only PID file.
240
+ *
241
+ * The comparison is performed in constant time to avoid leaking how much of
242
+ * the token matched via timing differences.
243
+ *
244
+ * @private
245
+ * @param {string} requestToken The token supplied by the daemon client.
246
+ * @returns {boolean} True if the token is present and matches our token.
247
+ * @memberof DaemonClient
248
+ */
249
+ isValidToken(requestToken) {
250
+ if (this.mDaemonToken == null || typeof requestToken !== "string" || requestToken.length === 0) {
251
+ return false;
252
+ }
253
+ const expected = Buffer.from(this.mDaemonToken);
254
+ const actual = Buffer.from(requestToken);
255
+ // timingSafeEqual requires equal-length buffers, so a length mismatch is
256
+ // an immediate (and safe) rejection.
257
+ if (expected.length !== actual.length) {
258
+ return false;
259
+ }
260
+ return crypto.timingSafeEqual(expected, actual);
261
+ }
210
262
  }
211
263
  exports.DaemonClient = DaemonClient;
212
264
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"DaemonClient.js","sourceRoot":"","sources":["../../src/daemon/DaemonClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DaemonClient.js","sourceRoot":"","sources":["../../src/daemon/DaemonClient.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,15 @@ export declare class DaemonDecider {
33
33
  * @memberof Processor
34
34
  */
35
35
  private mUser;
36
+ /**
37
+ * Secret token that authenticates daemon clients as the owner of this
38
+ * daemon. Generated once per daemon process and stored in the owner-only
39
+ * PID file so that only the owner can read it.
40
+ * @private
41
+ * @type {string}
42
+ * @memberof DaemonDecider
43
+ */
44
+ private mDaemonToken;
36
45
  /**
37
46
  * Indicator for whether or not to start the server
38
47
  * @private
@@ -1 +1 @@
1
- {"version":3,"file":"DaemonDecider.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonDecider.ts"],"names":[],"mappings":"AA2BA;;;;GAIG;AACH,qBAAa,aAAa;IA8CV,OAAO,CAAC,MAAM;IA7C1B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEhD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAa;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAS;IAEtB;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAU;IAE9B;;;;OAIG;gBACiB,MAAM,EAAE,MAAM,EAAE;IAEpC;;;OAGG;IACI,IAAI;IAeX;;;;OAIG;IACI,cAAc;IA6BrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAOb;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAKb;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;OAIG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED;;;;OAIG;IACH,OAAO,KAAK,WAAW,QAEtB;CACJ"}
1
+ {"version":3,"file":"DaemonDecider.d.ts","sourceRoot":"","sources":["../../src/daemon/DaemonDecider.ts"],"names":[],"mappings":"AA4BA;;;;GAIG;AACH,qBAAa,aAAa;IAwDV,OAAO,CAAC,MAAM;IAvD1B;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAc;IAEhD;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAa;IAE5B;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,CAAS;IAEtB;;;;;;;OAOG;IACH,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;IACH,OAAO,CAAC,YAAY,CAAU;IAE9B;;;;OAIG;gBACiB,MAAM,EAAE,MAAM,EAAE;IAEpC;;;OAGG;IACI,IAAI;IAqBX;;;;OAIG;IACI,cAAc;IA6BrB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAsBvB;;;;OAIG;IACH,OAAO,CAAC,KAAK;IAOb;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAKb;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiCpB;;;;OAIG;IACH,OAAO,KAAK,WAAW,GAEtB;IAED;;;;OAIG;IACH,OAAO,KAAK,WAAW,QAEtB;CACJ"}
@@ -11,6 +11,7 @@
11
11
  */
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.DaemonDecider = void 0;
14
+ const crypto = require("crypto");
14
15
  const fs = require("fs");
15
16
  const net = require("net");
16
17
  const os = require("os");
@@ -44,8 +45,14 @@ class DaemonDecider {
44
45
  init() {
45
46
  this.initialParse();
46
47
  if (this.startServer) {
48
+ const tokenLength = 32;
49
+ // Generate a fresh, high-entropy token for this daemon process. It is
50
+ // stored in the owner-only PID file (see recordDaemonPid) and required
51
+ // on every client request, so that only the user who can read that file
52
+ // is able to drive this daemon.
53
+ this.mDaemonToken = crypto.randomBytes(tokenLength).toString("hex");
47
54
  this.mServer = net.createServer((c) => {
48
- new DaemonClient_1.DaemonClient(c, this.mServer, this.mUser).run();
55
+ new DaemonClient_1.DaemonClient(c, this.mServer, this.mUser, this.mDaemonToken).run();
49
56
  });
50
57
  this.mServer.on('error', this.error.bind(this));
51
58
  this.mServer.on('close', this.close.bind(this));
@@ -95,7 +102,8 @@ class DaemonDecider {
95
102
  recordDaemonPid() {
96
103
  const pidForUser = {
97
104
  user: this.mUser,
98
- pid: process.pid
105
+ pid: process.pid,
106
+ token: this.mDaemonToken
99
107
  };
100
108
  const pidFilePath = path.join(DaemonUtil_1.DaemonUtil.getDaemonDir(), "daemon_pid.json");
101
109
  const pidForUserStr = JSON.stringify(pidForUser, null, 2);
@@ -108,8 +116,7 @@ class DaemonDecider {
108
116
  catch (err) {
109
117
  throw new Error("Failed to write file '" + pidFilePath + "'\nDetails = " + err.message);
110
118
  }
111
- imperative_1.Imperative.api.appLogger.trace("Recorded daemon process ID into " + pidFilePath +
112
- "\n" + pidForUserStr);
119
+ imperative_1.Imperative.api.appLogger.trace("Recorded daemon process ID into " + pidFilePath);
113
120
  }
114
121
  /**
115
122
  * Server close handler
@@ -1 +1 @@
1
- {"version":3,"file":"DaemonDecider.js","sourceRoot":"","sources":["../../src/daemon/DaemonDecider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DaemonDecider.js","sourceRoot":"","sources":["../../src/daemon/DaemonDecider.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,13 @@
5
5
  export interface IDaemonPidForUser {
6
6
  user: string;
7
7
  pid: number;
8
+ /**
9
+ * Secret token that authenticates a daemon client as the owner of this
10
+ * daemon. The daemon generates a fresh random token each time it starts
11
+ * and writes it into this owner-only file. Because only the owner can read
12
+ * the file, a client that can echo this token back has proven it is the
13
+ * owner. The client sends it on every request (see {@link IDaemonResponse}).
14
+ */
15
+ token?: string;
8
16
  }
9
17
  //# sourceMappingURL=IDaemonPidForUser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDaemonPidForUser.d.ts","sourceRoot":"","sources":["../../../src/daemon/doc/IDaemonPidForUser.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"IDaemonPidForUser.d.ts","sourceRoot":"","sources":["../../../src/daemon/doc/IDaemonPidForUser.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -40,6 +40,29 @@ export interface ILocalFile {
40
40
  * @class
41
41
  */
42
42
  export declare class EditUtilities {
43
+ /**
44
+ * Returns a short, filesystem-safe token that is unique per OS user, for building per-user
45
+ * temp directory names. Deriving the name from the user (rather than a random per-run value)
46
+ * keeps the path stable across invocations - so features like edit stash-resume still work -
47
+ * while ensuring co-tenants on a shared temp location get separate directories. The username
48
+ * is hashed so the token is path-safe for any username and works on every platform (numeric
49
+ * uids aren't available on Windows).
50
+ * @returns {string} - a hex token derived from the current OS user
51
+ * @memberof EditUtilities
52
+ */
53
+ private static getUserTempToken;
54
+ /**
55
+ * Build the per-user temp directory for edit files and ensure it is safe to use.
56
+ * The directory name includes a per-user token so co-tenants on a shared OS temp location get
57
+ * separate directories. With a shared name the first user to run would own the directory and
58
+ * {@link ensureSafeTempDir} would then reject it for everyone else. The token is derived from
59
+ * the current user (not random) so the path stays stable across runs and the stash remains
60
+ * re-findable.
61
+ * @param {EditFileType} fileType - "uss" or "ds"
62
+ * @returns {string} - absolute path to the ensured, per-user temp directory
63
+ * @memberof EditUtilities
64
+ */
65
+ private static ensureEditTempDir;
43
66
  /**
44
67
  * Builds a temp path where local file will be saved. If uss file, file name will be hashed
45
68
  * to prevent any conflicts with file naming. A given filename will always result in the
@@ -49,6 +72,18 @@ export declare class EditUtilities {
49
72
  * @memberof EditUtilities
50
73
  */
51
74
  static buildTempPath(lfFile: ILocalFile, commandParameters: IHandlerParameters): Promise<string>;
75
+ /**
76
+ * Ensures a temp directory exists and is safe to use, creating it if necessary.
77
+ * When creating, the directory is restricted to the owner (mode 0700 on POSIX; on Windows
78
+ * `fs.mkdirSync`'s `mode` is a no-op, so an owner-only ACL is set via {@link IO.giveAccessOnlyToOwner}).
79
+ * When the directory already exists, it is rejected unless it is a real directory whose access is
80
+ * restricted to the current user - verified the same way on every platform via
81
+ * {@link IO.hasOwnerOnlyAccess} - so a directory planted by another local user sharing the same
82
+ * tmp location is refused.
83
+ * @param {string} dir - the temp directory to validate or create
84
+ * @memberof EditUtilities
85
+ */
86
+ private static ensureSafeTempDir;
52
87
  /**
53
88
  * Check for temp path's existence (check if previously 'stashed'/temp edits exist)
54
89
  * @param {string} tempPath - unique file path for local file (stash/temp file)
@@ -1 +1 @@
1
- {"version":3,"file":"Edit.utils.d.ts","sourceRoot":"","sources":["../../../src/zosfiles/edit/Edit.utils.ts"],"names":[],"mappings":"AAWA,OAAO,EAAoB,iBAAiB,EAAoC,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EACD,MAAM,kBAAkB,CAAC;AASpE;;;;GAIG;AACH,oBAAY,MAAM;IACd,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,eAAe,IAAA;IACf,iBAAiB,IAAA;IACjB,gBAAgB,IAAA;IAChB,WAAW,IAAA;CACd;AAED;;;;GAIG;AACH,oBAAY,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACtB;;;;;;;OAOG;WACiB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IA0B7G;;;;;OAKG;WACiB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrE;;;;;;OAMG;WACiB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC5G;;;;;;OAMG;WACiB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IA2BvH;;;;;;;;;OASG;WACiB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAClH,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoDrD;;;;;OAKG;WACiB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpF;;;;;;;;;;OAUG;WACiB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAC3F,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IA2CpD;;;;;;;OAOG;WACiB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAC5F,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IA+BpD;;;;OAIG;WACiB,eAAe,CAAC,QAAQ,EAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtE"}
1
+ {"version":3,"file":"Edit.utils.d.ts","sourceRoot":"","sources":["../../../src/zosfiles/edit/Edit.utils.ts"],"names":[],"mappings":"AAWA,OAAO,EAAoB,iBAAiB,EAAoC,MAAM,8BAA8B,CAAC;AACrH,OAAO,EAAE,eAAe,EAAE,kBAAkB,EACG,MAAM,kBAAkB,CAAC;AASxE;;;;GAIG;AACH,oBAAY,MAAM;IACd,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,eAAe,IAAA;IACf,iBAAiB,IAAA;IACjB,gBAAgB,IAAA;IAChB,WAAW,IAAA;CACd;AAED;;;;GAIG;AACH,oBAAY,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;AAExC;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACtB;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAe/B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAMhC;;;;;;;OAOG;WACiB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmB7G;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAchC;;;;;OAKG;WACiB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrE;;;;;;OAMG;WACiB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC5G;;;;;;OAMG;WACiB,aAAa,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAoCvH;;;;;;;;;OASG;WACiB,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAClH,UAAU,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoDrD;;;;;OAKG;WACiB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAOpF;;;;;;;;;;OAUG;WACiB,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAC3F,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IA2CpD;;;;;;;OAOG;WACiB,YAAY,CAAC,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAC5F,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IA+BpD;;;;OAIG;WACiB,eAAe,CAAC,QAAQ,EAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtE"}
@@ -48,6 +48,47 @@ var Prompt;
48
48
  * @class
49
49
  */
50
50
  class EditUtilities {
51
+ /**
52
+ * Returns a short, filesystem-safe token that is unique per OS user, for building per-user
53
+ * temp directory names. Deriving the name from the user (rather than a random per-run value)
54
+ * keeps the path stable across invocations - so features like edit stash-resume still work -
55
+ * while ensuring co-tenants on a shared temp location get separate directories. The username
56
+ * is hashed so the token is path-safe for any username and works on every platform (numeric
57
+ * uids aren't available on Windows).
58
+ * @returns {string} - a hex token derived from the current OS user
59
+ * @memberof EditUtilities
60
+ */
61
+ static getUserTempToken() {
62
+ let id = "default";
63
+ try {
64
+ id = (0, os_1.userInfo)().username;
65
+ }
66
+ catch (err) {
67
+ // userInfo() can throw when the current user has no OS account entry; fall back to uid or a constant
68
+ if (typeof process.getuid === "function") {
69
+ id = String(process.getuid());
70
+ }
71
+ }
72
+ const crypto = require("crypto");
73
+ const tokenLen = 10;
74
+ return crypto.createHash("sha256").update(id).digest("hex").slice(0, tokenLen);
75
+ }
76
+ /**
77
+ * Build the per-user temp directory for edit files and ensure it is safe to use.
78
+ * The directory name includes a per-user token so co-tenants on a shared OS temp location get
79
+ * separate directories. With a shared name the first user to run would own the directory and
80
+ * {@link ensureSafeTempDir} would then reject it for everyone else. The token is derived from
81
+ * the current user (not random) so the path stays stable across runs and the stash remains
82
+ * re-findable.
83
+ * @param {EditFileType} fileType - "uss" or "ds"
84
+ * @returns {string} - absolute path to the ensured, per-user temp directory
85
+ * @memberof EditUtilities
86
+ */
87
+ static ensureEditTempDir(fileType) {
88
+ const dir = path.join((0, os_1.tmpdir)(), `zowe-edit-${fileType}-${EditUtilities.getUserTempToken()}`);
89
+ EditUtilities.ensureSafeTempDir(dir);
90
+ return dir;
91
+ }
51
92
  /**
52
93
  * Builds a temp path where local file will be saved. If uss file, file name will be hashed
53
94
  * to prevent any conflicts with file naming. A given filename will always result in the
@@ -57,7 +98,7 @@ class EditUtilities {
57
98
  * @memberof EditUtilities
58
99
  */
59
100
  static buildTempPath(lfFile, commandParameters) {
60
- var _a, _b;
101
+ var _a;
61
102
  return __awaiter(this, void 0, void 0, function* () {
62
103
  // find the appropriate extension for either uss or ds
63
104
  const ussExt = (lfFile.fileType === 'uss' && lfFile.fileName.includes(".")) ? lfFile.fileName.split(".").pop() : "";
@@ -70,21 +111,37 @@ class EditUtilities {
70
111
  // shorten hash
71
112
  const hashLen = 10;
72
113
  hash = hash.slice(0, hashLen);
73
- return path.join((0, os_1.tmpdir)(), path.parse(lfFile.fileName).name + '_' + hash + ext);
74
- }
75
- const dsDir = path.join((0, os_1.tmpdir)(), "zowe-edit-ds");
76
- if ((0, fs_1.existsSync)(dsDir)) {
77
- const st = (0, fs_1.lstatSync)(dsDir);
78
- if (!st.isDirectory() || (st.mode & 0o777) !== 0o700 || st.uid !== ((_b = process.getuid) === null || _b === void 0 ? void 0 : _b.call(process))) {
79
- throw new imperative_1.ImperativeError({ msg: `Unsafe temp directory detected at ${dsDir}` });
80
- }
81
- }
82
- else {
83
- (0, fs_1.mkdirSync)(dsDir, { recursive: true, mode: 0o700 });
114
+ const ussDir = EditUtilities.ensureEditTempDir("uss");
115
+ return path.join(ussDir, path.parse(lfFile.fileName).name + '_' + hash + ext);
84
116
  }
117
+ const dsDir = EditUtilities.ensureEditTempDir("ds");
85
118
  return path.join(dsDir, lfFile.fileName + ext);
86
119
  });
87
120
  }
121
+ /**
122
+ * Ensures a temp directory exists and is safe to use, creating it if necessary.
123
+ * When creating, the directory is restricted to the owner (mode 0700 on POSIX; on Windows
124
+ * `fs.mkdirSync`'s `mode` is a no-op, so an owner-only ACL is set via {@link IO.giveAccessOnlyToOwner}).
125
+ * When the directory already exists, it is rejected unless it is a real directory whose access is
126
+ * restricted to the current user - verified the same way on every platform via
127
+ * {@link IO.hasOwnerOnlyAccess} - so a directory planted by another local user sharing the same
128
+ * tmp location is refused.
129
+ * @param {string} dir - the temp directory to validate or create
130
+ * @memberof EditUtilities
131
+ */
132
+ static ensureSafeTempDir(dir) {
133
+ if (!(0, fs_1.existsSync)(dir)) {
134
+ (0, fs_1.mkdirSync)(dir, { recursive: true, mode: 0o700 });
135
+ if (process.platform === "win32") {
136
+ imperative_1.IO.giveAccessOnlyToOwner(dir);
137
+ }
138
+ return;
139
+ }
140
+ // Reject a planted symlink/non-directory (lstat does not follow symlinks) before checking access.
141
+ if (!(0, fs_1.lstatSync)(dir).isDirectory() || !imperative_1.IO.hasOwnerOnlyAccess(dir)) {
142
+ throw new imperative_1.ImperativeError({ msg: `Unsafe temp directory detected at ${dir}` });
143
+ }
144
+ }
88
145
  /**
89
146
  * Check for temp path's existence (check if previously 'stashed'/temp edits exist)
90
147
  * @param {string} tempPath - unique file path for local file (stash/temp file)
@@ -158,8 +215,17 @@ class EditUtilities {
158
215
  */
159
216
  static localDownload(session, lfFile, useStash) {
160
217
  return __awaiter(this, void 0, void 0, function* () {
161
- // account for both useStash|!useStash and uss|ds when downloading
162
- const tempPath = useStash ? path.posix.join((0, os_1.tmpdir)(), "toDelete.txt") : lfFile.tempPath;
218
+ // account for both useStash|!useStash and uss|ds when downloading.
219
+ // When only refreshing the etag (useStash), download to a throwaway scratch file with a
220
+ // unique, unpredictable name inside the safe temp dir rather than a shared, predictable path.
221
+ let scratchPath;
222
+ if (useStash) {
223
+ const crypto = require("crypto");
224
+ const randomNameBytes = 16;
225
+ const scratchDir = EditUtilities.ensureEditTempDir(lfFile.fileType);
226
+ scratchPath = path.join(scratchDir, `.etag-refresh-${crypto.randomBytes(randomNameBytes).toString("hex")}`);
227
+ }
228
+ const tempPath = useStash ? scratchPath : lfFile.tempPath;
163
229
  const args = [
164
230
  session,
165
231
  lfFile.fileName,
@@ -178,7 +244,7 @@ class EditUtilities {
178
244
  lfFile.zosResp = yield zos_files_for_zowe_sdk_1.Download.dataSet(...args);
179
245
  }
180
246
  if (useStash) {
181
- yield this.destroyTempFile(path.posix.join((0, os_1.tmpdir)(), "toDelete.txt"));
247
+ yield this.destroyTempFile(scratchPath);
182
248
  }
183
249
  return lfFile;
184
250
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Edit.utils.js","sourceRoot":"","sources":["../../../src/zosfiles/edit/Edit.utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Edit.utils.js","sourceRoot":"","sources":["../../../src/zosfiles/edit/Edit.utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;EASE;;;;;;;;;;;;AAEF,yEAAqH;AACrH,iDACwE;AACxE,oEAAiE;AACjE,2BAAkE;AAClE,2BAAsC;AACtC,6BAA6B;AAC7B,wFAAgF;AAChF,iFAAyE;AAGzE;;;;GAIG;AACH,IAAY,MAOX;AAPD,WAAY,MAAM;IACd,2CAAQ,CAAA;IACR,2CAAQ,CAAA;IACR,yDAAe,CAAA;IACf,6DAAiB,CAAA;IACjB,2DAAgB,CAAA;IAChB,iDAAW,CAAA;AACf,CAAC,EAPW,MAAM,GAAN,cAAM,KAAN,cAAM,QAOjB;AAyBD;;;;GAIG;AACH,MAAa,aAAa;IACtB;;;;;;;;;OASG;IACK,MAAM,CAAC,gBAAgB;QAC3B,IAAI,EAAE,GAAG,SAAS,CAAC;QACnB,IAAI;YACA,EAAE,GAAG,IAAA,aAAQ,GAAE,CAAC,QAAQ,CAAC;SAC5B;QAAC,OAAO,GAAG,EAAE;YACV,qGAAqG;YACrG,IAAI,OAAO,OAAO,CAAC,MAAM,KAAK,UAAU,EAAE;gBACtC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;aACjC;SACJ;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACnF,CAAC;IAED;;;;;;;;;;OAUG;IACK,MAAM,CAAC,iBAAiB,CAAC,QAAsB;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAA,WAAM,GAAE,EAAE,aAAa,QAAQ,IAAI,aAAa,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC7F,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAO,aAAa,CAAC,MAAkB,EAAE,iBAAqC;;;YACvF,sDAAsD;YACtD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpH,IAAI,GAAG,GAAG,GAAG,GAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAA,iBAAiB,CAAC,SAAS,CAAC,SAAS,mCAAI,KAAK,CAAC,CAAC,CAAC;YACzG,GAAG,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAC;gBAC1B,+EAA+E;gBAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7E,eAAe;gBACf,MAAM,OAAO,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;aACjF;YACD,MAAM,KAAK,GAAG,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACpD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;;KAClD;IAED;;;;;;;;;;OAUG;IACK,MAAM,CAAC,iBAAiB,CAAC,GAAW;QACxC,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE;YAClB,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE;gBAC9B,eAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;YACD,OAAO;SACV;QACD,kGAAkG;QAClG,IAAI,CAAC,IAAA,cAAS,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,eAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,4BAAe,CAAC,EAAE,GAAG,EAAE,qCAAqC,GAAG,EAAE,EAAE,CAAC,CAAC;SAClF;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAO,aAAa,CAAC,QAAgB;;YAC9C,IAAI;gBACA,OAAO,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;aAC/B;YAAC,OAAM,GAAG,EAAE;gBACT,MAAM,IAAI,4BAAe,CAAC;oBACtB,GAAG,EAAE,sDAAsD;oBAC3D,WAAW,EAAE,GAAG;iBACnB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,UAAU,CAAC,MAAc,EAAE,QAAkB,EAAE,WAAsB;;YACrF,IAAI,KAAK,CAAC;YACV,IAAI,UAAU,CAAC;YACf,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,QAAQ,MAAM,EAAC;gBACX,KAAK,MAAM,CAAC,QAAQ;oBAChB,UAAU,GAAG,gDAAgD,CAAC;oBAC9D,MAAM;gBACV,KAAK,MAAM,CAAC,QAAQ;oBAChB,UAAU,GAAG,iDAAiD,CAAC;oBAC/D,MAAM;gBACV,KAAK,MAAM,CAAC,iBAAiB;oBACzB,UAAU,GAAG,YAAY,GAAG,sEAAsE,CAAC;oBACnG,MAAM;gBACV,KAAK,MAAM,CAAC,eAAe;oBACvB,UAAU,GAAG,YAAY,GAAG,+DAA+D,CAAC;oBAC5F,MAAM;gBACV,KAAK,MAAM,CAAC,gBAAgB;oBACxB,UAAU,GAAG,YAAY,GAAG,4CAA4C,CAAC;oBACzE,MAAM;gBACV,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrB,MAAM,UAAU,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBAClF,UAAU,GAAG,gCAAgC,UAAU,6CAA6C,CAAC;oBACrG,MAAM;iBACT;aACJ;YACD,GAAG;gBACC,KAAK,GAAG,MAAM,qBAAQ,CAAC,UAAU,CAAC,sBAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;aACxE,QACM,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,IAAK,KAAK,CAAC,WAAW,EAAE,IAAI,GAAG,EAAE;YACnF,IAAI,KAAK,IAAI,IAAI,EAAE;gBACf,MAAM,IAAI,4BAAe,CAAC;oBACtB,GAAG,EAAE,sBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC;iBAC7F,CAAC,CAAC;aACN;YACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC;QACvC,CAAC;KAAA;IAED;;;;;;OAMG;IACI,MAAM,CAAO,aAAa,CAAC,OAAwB,EAAE,MAAkB,EAAE,QAAiB;;YAC7F,mEAAmE;YACnE,wFAAwF;YACxF,8FAA8F;YAC9F,IAAI,WAAoB,CAAC;YACzB,IAAI,QAAQ,EAAE;gBACV,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,MAAM,eAAe,GAAG,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC/G;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;YAC1D,MAAM,IAAI,GAAgD;gBACtD,OAAO;gBACP,MAAM,CAAC,QAAQ;gBACf;oBACI,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,IAAI,EAAE,QAAQ;iBACjB;aACJ,CAAC;YAEF,IAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAC;gBACzB,MAAM,CAAC,OAAO,GAAG,MAAM,iCAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACtC;iBAAI;gBACD,MAAM,CAAC,OAAO,GAAG,MAAM,iCAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;aACpD;YAED,IAAI,QAAQ,EAAC;gBACT,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;aAC3C;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAED;;;;;;;;;OASG;IACI,MAAM,CAAO,cAAc,CAAC,OAAwB,EAAE,iBAAqC,EAAE,MAAkB,EAClH,UAAoB;;YACpB,MAAM,SAAS,GAAG,IAAI,kCAAuB,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,8BAAmB,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,IAAI,qCAAiB,CAAC,iBAAiB,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,yBAAY,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAqB;gBAC9B,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,aAAa;aACvB,CAAC;YAEF,MAAM,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,sBAAS,CAAC,aAAa,CAAC,CAAC;YAEvD,MAAM,EAAE,GAAW,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1F,IAAI,EAAmB,CAAC;YACxB,IAAG;gBACC,IAAI,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;oBAC/C,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBAC/E;qBAAI;oBACD,EAAE,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;iBAChF;aACJ;YAAA,OAAM,GAAG,EAAC;gBACP,MAAM,IAAI,4BAAe,CAAC;oBACtB,GAAG,EAAE,sBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAC,8DAA8D,CAAC;oBAC5F,WAAW,EAAE,GAAG;iBACnB,CAAC,CAAC;aACN;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,iBAAiB,GAAG,CAAC,UAAU,CAAC;YACpC,IAAI,YAAY,KAAK,aAAa,EAAC;gBAC/B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC1B;YACD,IAAI,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE;gBAC/B,iBAAiB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;aACxF;YACD,IAAI,CAAC,iBAAiB,EAAE;gBACpB,OAAO;aACV;YACD,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YACpF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAC;gBACpB,IAAI,YAAY,EAAC;oBACb,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAC,YAAY,CAAC,eAAe,CAAC,CAAC;iBAC7E;qBAAI;oBACD,MAAM,IAAI,4BAAe,CAAC;wBACtB,GAAG,EAAE,sBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC;qBAC9D,CAAC,CAAC;iBACN;aACJ;YACD,OAAO,YAAY,CAAC;QACxB,CAAC;KAAA;IAED;;;;;OAKG;IACI,MAAM,CAAO,SAAS,CAAC,MAAkB,EAAE,MAAe;;YAC7D,IAAI,MAAM,CAAC,QAAQ,EAAC;gBAChB,yBAAY,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;aAC5D;YACD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;KAAA;IAED;;;;;;;;;;OAUG;IACI,MAAM,CAAO,WAAW,CAAC,OAAwB,EAAE,iBAAqC,EAC3F,MAAkB;;YAClB,MAAM,gBAAgB,GAAG,GAAG,CAAC;YAC7B,MAAM,IAAI,GAAsD;gBAC5D,OAAO;gBACP,MAAM,CAAC,QAAQ;gBACf,MAAM,CAAC,QAAQ;gBACf;oBACI,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;oBACrC,UAAU,EAAE,IAAI;iBACnB;aACJ,CAAC;YACF,IAAI,QAA2B,CAAC;YAEhC,IAAG;gBACC,IAAI,MAAM,CAAC,QAAQ,KAAK,KAAK,EAAC;oBAC1B,QAAQ,GAAG,MAAM,+BAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;iBAClD;qBAAI;oBACD,QAAQ,GAAG,MAAM,+BAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,CAAC;iBAClD;gBACD,IAAI,QAAQ,CAAC,OAAO,EAAC;oBACjB,iEAAiE;oBACjE,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC5C,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBACxB;qBAAM;oBACH,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAC;wBACzC,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;wBACnE,8BAA8B;qBACjC;iBACJ;aACJ;YAAA,OAAM,GAAG,EAAC;gBACP,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,gBAAgB,EAAC;oBACnD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;iBACtE;aACJ;YACD,MAAM,IAAI,4BAAe,CAAC;gBACtB,GAAG,EAAE,sBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY;oBAC3C,mEAAmE,CAAC;gBACxE,WAAW,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,YAAY;aACtC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;;;;;;OAOG;IACI,MAAM,CAAO,YAAY,CAAC,OAAwB,EAAE,iBAAqC,EAC5F,MAAkB;;YAClB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,IAAG;gBACC,0EAA0E;gBAC1E,sEAAsE;gBACtE,MAAM,iBAAiB,GAAY,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACpG,IAAI,iBAAiB,EAAC;oBAClB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;iBACjE;gBACD,sEAAsE;gBACtE,MAAM,gBAAgB,GAAY,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAClG,2BAA2B;gBAC3B,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBAChD,IAAI,CAAC,gBAAgB,EAAC;oBAClB,8CAA8C;oBAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACvF,IAAI,aAAa,EAAC;wBACd,OAAO,MAAM,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;qBAC9E;yBAAI;wBACD,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;qBAC/C;iBACJ;gBACD,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,sBAAsB;aAChD;YAAA,OAAM,GAAG,EAAC;gBACP,MAAM,IAAI,4BAAe,CAAC;oBACtB,GAAG,EAAE,sBAAS,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC;oBACxF,WAAW,EAAE,GAAG;iBACnB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAED;;;;OAIG;IACI,MAAM,CAAO,eAAe,CAAC,QAAe;;YAC/C,IAAI;gBACA,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC;aACxB;YAAC,OAAO,GAAG,EAAE;gBACV,MAAM,IAAI,4BAAe,CAAC;oBACtB,GAAG,EAAE,kDAAkD;oBACvD,WAAW,EAAE,GAAG;iBACnB,CAAC,CAAC;aACN;QACL,CAAC;KAAA;CACJ;AAlYD,sCAkYC"}
@@ -1,26 +1,26 @@
1
1
  {
2
2
  "name": "@zowe/cli",
3
- "version": "7.29.30",
3
+ "version": "7.29.32",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@zowe/cli",
9
- "version": "7.29.30",
9
+ "version": "7.29.32",
10
10
  "hasInstallScript": true,
11
11
  "license": "EPL-2.0",
12
12
  "dependencies": {
13
- "@zowe/core-for-zowe-sdk": "7.29.30",
14
- "@zowe/imperative": "5.27.21",
15
- "@zowe/provisioning-for-zowe-sdk": "7.29.30",
16
- "@zowe/zos-console-for-zowe-sdk": "7.29.30",
17
- "@zowe/zos-files-for-zowe-sdk": "7.29.30",
18
- "@zowe/zos-jobs-for-zowe-sdk": "7.29.30",
19
- "@zowe/zos-logs-for-zowe-sdk": "7.29.30",
20
- "@zowe/zos-tso-for-zowe-sdk": "7.29.30",
21
- "@zowe/zos-uss-for-zowe-sdk": "7.29.30",
22
- "@zowe/zos-workflows-for-zowe-sdk": "7.29.30",
23
- "@zowe/zosmf-for-zowe-sdk": "7.29.30",
13
+ "@zowe/core-for-zowe-sdk": "7.29.32",
14
+ "@zowe/imperative": "5.27.23",
15
+ "@zowe/provisioning-for-zowe-sdk": "7.29.32",
16
+ "@zowe/zos-console-for-zowe-sdk": "7.29.32",
17
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32",
18
+ "@zowe/zos-jobs-for-zowe-sdk": "7.29.32",
19
+ "@zowe/zos-logs-for-zowe-sdk": "7.29.32",
20
+ "@zowe/zos-tso-for-zowe-sdk": "7.29.32",
21
+ "@zowe/zos-uss-for-zowe-sdk": "7.29.32",
22
+ "@zowe/zos-workflows-for-zowe-sdk": "7.29.32",
23
+ "@zowe/zosmf-for-zowe-sdk": "7.29.32",
24
24
  "find-process": "1.4.7",
25
25
  "get-stream": "6.0.1",
26
26
  "lodash": "4.18.1",
@@ -34,7 +34,7 @@
34
34
  "devDependencies": {
35
35
  "@types/diff": "^5.0.2",
36
36
  "@types/lodash": "^4.14.175",
37
- "@zowe/cli-test-utils": "7.29.30",
37
+ "@zowe/cli-test-utils": "7.29.32",
38
38
  "comment-json": "^4.1.1",
39
39
  "strip-ansi": "^6.0.1",
40
40
  "which": "^2.0.2"
@@ -106,8 +106,8 @@
106
106
  "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
107
107
  },
108
108
  "node_modules/@zowe/core-for-zowe-sdk": {
109
- "version": "7.29.30",
110
- "integrity": "sha512-n2oSPd1SwThSfGFS6N0iU82QbWGmMhdKlA9TNpdB89jp1T+Yvt0ivRJHDud9dAeJHiAsAvsfo+lnDSX0J/W3aQ==",
109
+ "version": "7.29.32",
110
+ "integrity": "sha512-KJ7KPo36ha5pBTIyjGRgdEF5hQoAYQF79pnK3N7Mf8TY3tOEHLnz+2E2Hs9WtnE1DoAt8UXoh7Ws4pdg6lwUKQ==",
111
111
  "license": "EPL-2.0",
112
112
  "dependencies": {
113
113
  "comment-json": "4.1.1",
@@ -118,8 +118,8 @@
118
118
  }
119
119
  },
120
120
  "node_modules/@zowe/imperative": {
121
- "version": "5.27.21",
122
- "integrity": "sha512-Efs6fqHqXVf5wcL6HmrSbRQ045Q5bVGgtVOacBhrHVbblrE7GJfWanB8372Ir8MV25JhEWnVQGun004YlaMFOg==",
121
+ "version": "5.27.23",
122
+ "integrity": "sha512-OsnkHKoo9/ZsTykh7O0RTLExaKZz7mY9TO3FZ2hmf5zyam2uVi6D6/53lxDNS9TWxbwb0kTfw5YKO1uVUD8efA==",
123
123
  "license": "EPL-2.0",
124
124
  "dependencies": {
125
125
  "@types/yargs": "13.0.4",
@@ -399,8 +399,8 @@
399
399
  }
400
400
  },
401
401
  "node_modules/@zowe/provisioning-for-zowe-sdk": {
402
- "version": "7.29.30",
403
- "integrity": "sha512-2AKO/Cq1rxjx5lzT8R74LWAjGS3jOM/Jh79CmSrePZUraOBbYyh36/h8a1dCnhq4KFig4Vx22A/u6tphmg5WwQ==",
402
+ "version": "7.29.32",
403
+ "integrity": "sha512-iiLxMiZLd/uiAvDADL1fhpgbD4egsAD0+HXKbEAmCAhgzxJ9nh+sa9EQKvM5FQLE7aeuJfyS0fXjJo0oYDQSmA==",
404
404
  "license": "EPL-2.0",
405
405
  "dependencies": {
406
406
  "js-yaml": "4.1.1"
@@ -421,8 +421,8 @@
421
421
  }
422
422
  },
423
423
  "node_modules/@zowe/zos-console-for-zowe-sdk": {
424
- "version": "7.29.30",
425
- "integrity": "sha512-RZKKZvvxLfSYcXN7z6YH1xkFQZcl8n3zW74F8wch+5tgiVKm+v8Ry5xmwmgf5zTxteEvGkt57pDqleIRd3CTCA==",
424
+ "version": "7.29.32",
425
+ "integrity": "sha512-1vD6fYHOf5C2YMtu/LjGCkkKI20C0E2qqUeHAXvGeOsvLQfJizRRisOUGkNGXMrNUqcVbzv2d0fDiMOhMQQJ2g==",
426
426
  "license": "EPL-2.0",
427
427
  "peerDependencies": {
428
428
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -430,8 +430,8 @@
430
430
  }
431
431
  },
432
432
  "node_modules/@zowe/zos-files-for-zowe-sdk": {
433
- "version": "7.29.30",
434
- "integrity": "sha512-AbnvilM8XKo7rC/OlLbQ2/yJaXiAZbHUj4XHlJoeYkhFRM6FCoPpEU06E0D0zI1p3EAgVtg/7syrohHwlXcGKQ==",
433
+ "version": "7.29.32",
434
+ "integrity": "sha512-cA4Znj0Cykl6u7Gc6ylJ+ZqJeG9hj5+EJlkHAhDwRNhv07y5kfJtal90k/jYn0QfJTEu3+vpyW259B0VIvpTtg==",
435
435
  "license": "EPL-2.0",
436
436
  "dependencies": {
437
437
  "minimatch": "5.1.9"
@@ -442,11 +442,11 @@
442
442
  }
443
443
  },
444
444
  "node_modules/@zowe/zos-jobs-for-zowe-sdk": {
445
- "version": "7.29.30",
446
- "integrity": "sha512-vBzYDS0oWZEjl1q+192rM1qVOX7szIEeTG02OOIIy4dQwJh3AyifUpVBu8tIjL000jEoSP0U09yQojoGlsR/2w==",
445
+ "version": "7.29.32",
446
+ "integrity": "sha512-sv78GQiXxyGCz6xVngXq2aCCQW+jvYkUdlEP8S7B6BfZ67JeVmaLZ3Ysw1Cw4nD7GYVmGo6CYkuTu3q54AMOPA==",
447
447
  "license": "EPL-2.0",
448
448
  "dependencies": {
449
- "@zowe/zos-files-for-zowe-sdk": "7.29.30"
449
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32"
450
450
  },
451
451
  "peerDependencies": {
452
452
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -454,8 +454,8 @@
454
454
  }
455
455
  },
456
456
  "node_modules/@zowe/zos-logs-for-zowe-sdk": {
457
- "version": "7.29.30",
458
- "integrity": "sha512-NdPfxXMlPhBaaVn3MiqF17o/fikjd7Qd0sg4gRWfzm9EOxg+gQ7JoS89Oz8nKXHGCo54Z+wnVTbRtxtkEJylaw==",
457
+ "version": "7.29.32",
458
+ "integrity": "sha512-iHtkKC2jSNnvnJAfCzMIrboJZcrTvzIEHR8qlc31qWrshG2akNi4j2fXXmjfhGfW9glGFC12SBWHhz2dA8MVVw==",
459
459
  "license": "EPL-2.0",
460
460
  "peerDependencies": {
461
461
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -463,11 +463,11 @@
463
463
  }
464
464
  },
465
465
  "node_modules/@zowe/zos-tso-for-zowe-sdk": {
466
- "version": "7.29.30",
467
- "integrity": "sha512-mNJ+Jvm+AveiX/RVRY8dVAkNgsQgc8pjRGXpX3RGvNNlvta2aCEXYbUB52CXk1rAHYc85vqNS94Ug2h+lPnsmA==",
466
+ "version": "7.29.32",
467
+ "integrity": "sha512-9sMgdQndH8GpGVFpwi7VImqVnzqXA08Mvgu63jk6C6CaYv9tMTT3eeQ+wQZomcDka1o/pNKc2gZWLrZB8Q5Qyg==",
468
468
  "license": "EPL-2.0",
469
469
  "dependencies": {
470
- "@zowe/zosmf-for-zowe-sdk": "7.29.30"
470
+ "@zowe/zosmf-for-zowe-sdk": "7.29.32"
471
471
  },
472
472
  "peerDependencies": {
473
473
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -475,8 +475,8 @@
475
475
  }
476
476
  },
477
477
  "node_modules/@zowe/zos-uss-for-zowe-sdk": {
478
- "version": "7.29.30",
479
- "integrity": "sha512-r0EPH3foeScGe46I4HWic3//t7Mlvm44zFNjf27LVrZ5G4o90plvVOfCESEuJ/Nl5eUtEFJkAynMqTKuN7fssw==",
478
+ "version": "7.29.32",
479
+ "integrity": "sha512-IXJXfq8hl6sKpLnDGXHU0VpBqwDWyXgY2/MiEVisw8k9MrIL5wsNTljCB84BuV5GqaspeZaLoSbcG+3a0xnvlw==",
480
480
  "license": "EPL-2.0",
481
481
  "dependencies": {
482
482
  "ssh2": "1.15.0"
@@ -486,11 +486,11 @@
486
486
  }
487
487
  },
488
488
  "node_modules/@zowe/zos-workflows-for-zowe-sdk": {
489
- "version": "7.29.30",
490
- "integrity": "sha512-AFNaqQurlqUo+jcFFYHefmyZwMqgg4iDcVscw4YJM2of/s9P8Cr9lvUxJfWhMzuS+ofVOk8J2ASzBaaJfA5nNQ==",
489
+ "version": "7.29.32",
490
+ "integrity": "sha512-i/dhTffMjmHaGGYb/TidY4XId5KIkWd245R+2XbqgyrgSKS9dxR1ANrXbB7utFZ52/TirmhTP1xkFXkuwVa8vQ==",
491
491
  "license": "EPL-2.0",
492
492
  "dependencies": {
493
- "@zowe/zos-files-for-zowe-sdk": "7.29.30"
493
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32"
494
494
  },
495
495
  "peerDependencies": {
496
496
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -498,8 +498,8 @@
498
498
  }
499
499
  },
500
500
  "node_modules/@zowe/zosmf-for-zowe-sdk": {
501
- "version": "7.29.30",
502
- "integrity": "sha512-UwyTdQ4ht9/RGDwVovcfyyNQbt/MjsdU5CEDtUiMDFFdwBHToiVl6V7z56FyPEVOjKMqt+AYFO3+4CO9bbylmQ==",
501
+ "version": "7.29.32",
502
+ "integrity": "sha512-MloOjzpPO5WY+mLEfIEFwewktcNEYh77O/NQa/BLTwR98KyvF5Bc0ftHlcQwKfMox3KYkw0UrRX0kRpdKgIlgg==",
503
503
  "license": "EPL-2.0",
504
504
  "peerDependencies": {
505
505
  "@zowe/core-for-zowe-sdk": "^7.0.0",
@@ -562,8 +562,8 @@
562
562
  }
563
563
  },
564
564
  "node_modules/brace-expansion": {
565
- "version": "2.0.3",
566
- "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
565
+ "version": "2.1.2",
566
+ "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==",
567
567
  "license": "MIT",
568
568
  "dependencies": {
569
569
  "balanced-match": "^1.0.0"
@@ -1168,8 +1168,19 @@
1168
1168
  }
1169
1169
  },
1170
1170
  "node_modules/linkify-it": {
1171
- "version": "5.0.0",
1172
- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
1171
+ "version": "5.0.2",
1172
+ "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
1173
+ "funding": [
1174
+ {
1175
+ "type": "github",
1176
+ "url": "https://github.com/sponsors/puzrin"
1177
+ },
1178
+ {
1179
+ "type": "github",
1180
+ "url": "https://github.com/sponsors/markdown-it"
1181
+ }
1182
+ ],
1183
+ "license": "MIT",
1173
1184
  "dependencies": {
1174
1185
  "uc.micro": "^2.0.0"
1175
1186
  }
@@ -1293,8 +1304,8 @@
1293
1304
  "optional": true
1294
1305
  },
1295
1306
  "node_modules/nanoid": {
1296
- "version": "3.3.12",
1297
- "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==",
1307
+ "version": "3.3.16",
1308
+ "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q==",
1298
1309
  "funding": [
1299
1310
  {
1300
1311
  "type": "github",
@@ -1374,8 +1385,8 @@
1374
1385
  }
1375
1386
  },
1376
1387
  "node_modules/postcss": {
1377
- "version": "8.5.15",
1378
- "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
1388
+ "version": "8.5.23",
1389
+ "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==",
1379
1390
  "funding": [
1380
1391
  {
1381
1392
  "type": "opencollective",
@@ -1392,7 +1403,7 @@
1392
1403
  ],
1393
1404
  "license": "MIT",
1394
1405
  "dependencies": {
1395
- "nanoid": "^3.3.12",
1406
+ "nanoid": "^3.3.16",
1396
1407
  "picocolors": "^1.1.1",
1397
1408
  "source-map-js": "^1.2.1"
1398
1409
  },
@@ -1966,16 +1977,16 @@
1966
1977
  "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
1967
1978
  },
1968
1979
  "@zowe/core-for-zowe-sdk": {
1969
- "version": "7.29.30",
1970
- "integrity": "sha512-mWUXjwnhqVC/VWUP3FW5QCAixuLztpkqVydb543Bwg/JhlRMLOo9lxCxeHTcfhcpqwz4RYpQxC/hk5FAUzY/Iw==",
1980
+ "version": "7.29.32",
1981
+ "integrity": "sha512-GrGBEbpFz6moVjlraBEgn632aejvXB7C1RrZfVzgrmAfTZmoQzXcE8cB0mtk0Ve6ibV1gy70BtYl/cegh6+52w==",
1971
1982
  "requires": {
1972
1983
  "comment-json": "4.1.1",
1973
1984
  "string-width": "4.2.3"
1974
1985
  }
1975
1986
  },
1976
1987
  "@zowe/imperative": {
1977
- "version": "5.27.21",
1978
- "integrity": "sha512-04XsWp+DY6agZNCKoC9ZJmofK8icKU5BvATg7/H+BKuiaME+Bt71PsSUK0ZmSmXlUuRZgiWqgde+tUFekESW7w==",
1988
+ "version": "5.27.23",
1989
+ "integrity": "sha512-WFBRJ/10d5kn7WsQaIL+67UEl8PTX5plFekVivStAVKWIFM90Z/t8wjKQHZChyq9NQQKRaLUnFShicte++qZmA==",
1979
1990
  "requires": {
1980
1991
  "@types/yargs": "13.0.4",
1981
1992
  "chalk": "2.4.2",
@@ -2166,8 +2177,8 @@
2166
2177
  }
2167
2178
  },
2168
2179
  "@zowe/provisioning-for-zowe-sdk": {
2169
- "version": "7.29.30",
2170
- "integrity": "sha512-io4KHObY8FIw2GLVvBN7Gim21tMwfuS1C1+jvDA+ktxY5GH1oqAj8dVCZXQGL6hrURgBSaIT5V7P0qY03rTxVA==",
2180
+ "version": "7.29.32",
2181
+ "integrity": "sha512-HjRaQWtqVgqPrNVJahFxOTc9DcN+WTMC43e6IMTAX+i+r0RtaUGCi+q8wi3nQ92ca78cE4+BaJoXcrDzglu/ug==",
2171
2182
  "requires": {
2172
2183
  "js-yaml": "4.1.1"
2173
2184
  }
@@ -2178,53 +2189,53 @@
2178
2189
  "optional": true
2179
2190
  },
2180
2191
  "@zowe/zos-console-for-zowe-sdk": {
2181
- "version": "7.29.30",
2182
- "integrity": "sha512-P1ALQiOSDywm1CWuHuGQ01CIOpiaiFAazDhxlEN7TwyukmGeNA8ikMWokRDNd1/o7imW08M2ElItj5NcuBiYXA==",
2192
+ "version": "7.29.32",
2193
+ "integrity": "sha512-RzrCvnmWlUiajKKB0Q2X15I/jRNq255d/cKX07F0uYpONUpJwD6r5RtlbIW5Qd1Xz4cS2+C5Y4mnWgOxTFmjYA==",
2183
2194
  "requires": {}
2184
2195
  },
2185
2196
  "@zowe/zos-files-for-zowe-sdk": {
2186
- "version": "7.29.30",
2187
- "integrity": "sha512-lzkZdFxu2AWAxi2cDuNTVfTiQNk5Ie0KZgEhXw5TeQKhmLenc+h9JF06WKHgfgjA/wmOIxDmFMz4ct7TgX9YgA==",
2197
+ "version": "7.29.32",
2198
+ "integrity": "sha512-iazbLnQkRFDfudWsT8dMQI7ZqX+a+En4hMPOTqH/cARGH3pjcD/6zmQnHilOrjIpsNyQNEup5zg60BRFJ/Stkw==",
2188
2199
  "requires": {
2189
2200
  "minimatch": "5.1.9"
2190
2201
  }
2191
2202
  },
2192
2203
  "@zowe/zos-jobs-for-zowe-sdk": {
2193
- "version": "7.29.30",
2194
- "integrity": "sha512-pzgZsBNsw19uwwpjNeKlM/6+hurkgrwXZ0ueFXwp1X1ZPdDwkU8Uy278dx+9CjlKpMV8GJVZuMGADCXUgD0BJg==",
2204
+ "version": "7.29.32",
2205
+ "integrity": "sha512-JJJFFq35MuQUrANordqRnHy3gXM6eobNbXfgJhkAV5oMWuQ8g9qEaaQ3ABL1YDpVAdSrSZ4ScUAXn9Zn6dsECQ==",
2195
2206
  "requires": {
2196
- "@zowe/zos-files-for-zowe-sdk": "7.29.30"
2207
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32"
2197
2208
  }
2198
2209
  },
2199
2210
  "@zowe/zos-logs-for-zowe-sdk": {
2200
- "version": "7.29.30",
2201
- "integrity": "sha512-4aScL5XksQCgO72a9Vs2hrSyasKYGHpsiMGcZZvJH3MYsWS0tK65UUfhwsk+PzuAqMYVnL54mvekYxY53Q/xsg==",
2211
+ "version": "7.29.32",
2212
+ "integrity": "sha512-nbkQKYSSJbgwRIddl3xKYTDJwx/GBfkFiyNw9+O5lHpFFmU0Tnag7PnSQkFIR+t76VYNPFhR5jUD5hld+JyoOw==",
2202
2213
  "requires": {}
2203
2214
  },
2204
2215
  "@zowe/zos-tso-for-zowe-sdk": {
2205
- "version": "7.29.30",
2206
- "integrity": "sha512-iMqlfYsGSodr4UXE3tftsK+Fm7YO7hJ5wRlqZPk2Onu8yhbKgMfDA3N8P7u/BUmfyJF7lgf8WXcOkw05rCyR8Q==",
2216
+ "version": "7.29.32",
2217
+ "integrity": "sha512-Kw57kCQBAQuYxsV1t+yCniwbhC21eTDfwJ/Y5tS6stAISoUK7rob4kXJ496kzvK1M9PNs4tmXC0VWjbe/U1PDA==",
2207
2218
  "requires": {
2208
- "@zowe/zosmf-for-zowe-sdk": "7.29.30"
2219
+ "@zowe/zosmf-for-zowe-sdk": "7.29.32"
2209
2220
  }
2210
2221
  },
2211
2222
  "@zowe/zos-uss-for-zowe-sdk": {
2212
- "version": "7.29.30",
2213
- "integrity": "sha512-YUT+h3dFNfbZX3nYHs27m25AYkoAD6fTHEtzqvda631/1bjkz4lYYBmU/LRiR8f5t1uhMVPOHDlPSAqUjIEj8Q==",
2223
+ "version": "7.29.32",
2224
+ "integrity": "sha512-unplSA9GAjvutuWP/hfUZ30dQEVqSjgKH00f8ZgOOhqCGlrTQ5iqw2F0rTfbsMt3hxcO5b5HvWSYZiebV7hA+A==",
2214
2225
  "requires": {
2215
2226
  "ssh2": "1.15.0"
2216
2227
  }
2217
2228
  },
2218
2229
  "@zowe/zos-workflows-for-zowe-sdk": {
2219
- "version": "7.29.30",
2220
- "integrity": "sha512-kknlwk3glx4aDI7EmrlGpdYOwzgIzJ4y5geWdFkEjmtcz6QeSghbXgPFhLIJIngd7CbxKsyITuXzxWZ1VY2FYg==",
2230
+ "version": "7.29.32",
2231
+ "integrity": "sha512-hsZUeRmOtZiu+pFl/7OII2rxXu/sAwxLeUDDlDWkXnFctEOeBepylAkQ8Zcl2VsC6X8k0iSMYyIdSRaU1/ojWQ==",
2221
2232
  "requires": {
2222
- "@zowe/zos-files-for-zowe-sdk": "7.29.30"
2233
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32"
2223
2234
  }
2224
2235
  },
2225
2236
  "@zowe/zosmf-for-zowe-sdk": {
2226
- "version": "7.29.30",
2227
- "integrity": "sha512-E8oAWF66sIJoZ11kR21V53poU8bWSiIwbeIS5Aa/xObrP2nqvleLP8qrHfaZVMW9Qoakey4ZyZ82ATK0KNYUTA==",
2237
+ "version": "7.29.32",
2238
+ "integrity": "sha512-5VayYzsCob2cM/yhlHAYVsBM1xibMpBGqHK1WAProayWfUTnuoIVIm/jre+I4FPYkH3IzCWGH9zjD2QA+pAiiA==",
2228
2239
  "requires": {}
2229
2240
  },
2230
2241
  "agent-base": {
@@ -2269,8 +2280,8 @@
2269
2280
  }
2270
2281
  },
2271
2282
  "brace-expansion": {
2272
- "version": "2.0.3",
2273
- "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==",
2283
+ "version": "2.1.2",
2284
+ "integrity": "sha512-w5JZcKgdhDOgOwm8H+KgbosopHMuGcl6qbulwjtz3SM7I7P3yW1eAjzMPLrIE+NQ9vjgANKHWeMHnrT0OXW1oA==",
2274
2285
  "requires": {
2275
2286
  "balanced-match": "^1.0.0"
2276
2287
  }
@@ -2668,8 +2679,8 @@
2668
2679
  }
2669
2680
  },
2670
2681
  "linkify-it": {
2671
- "version": "5.0.0",
2672
- "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
2682
+ "version": "5.0.2",
2683
+ "integrity": "sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==",
2673
2684
  "requires": {
2674
2685
  "uc.micro": "^2.0.0"
2675
2686
  }
@@ -2761,8 +2772,8 @@
2761
2772
  "optional": true
2762
2773
  },
2763
2774
  "nanoid": {
2764
- "version": "3.3.12",
2765
- "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ=="
2775
+ "version": "3.3.16",
2776
+ "integrity": "sha512-bzlKTyNJ7+LdGIIwy8ijFpIqEQIvafahV7eYykJ8Cvh42EdJeODoJ6gUJXpQJvej1BddH8OqTXZNE/KfbWAu8Q=="
2766
2777
  },
2767
2778
  "opener": {
2768
2779
  "version": "1.5.2",
@@ -2801,10 +2812,10 @@
2801
2812
  "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="
2802
2813
  },
2803
2814
  "postcss": {
2804
- "version": "8.5.15",
2805
- "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==",
2815
+ "version": "8.5.23",
2816
+ "integrity": "sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==",
2806
2817
  "requires": {
2807
- "nanoid": "^3.3.12",
2818
+ "nanoid": "^3.3.16",
2808
2819
  "picocolors": "^1.1.1",
2809
2820
  "source-map-js": "^1.2.1"
2810
2821
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zowe/cli",
3
- "version": "7.29.30",
3
+ "version": "7.29.32",
4
4
  "description": "Zowe CLI is a command line interface (CLI) that provides a simple and streamlined way to interact with IBM z/OS.",
5
5
  "author": "Zowe",
6
6
  "license": "EPL-2.0",
@@ -57,17 +57,17 @@
57
57
  "preshrinkwrap": "node ../../scripts/rewriteShrinkwrap.js"
58
58
  },
59
59
  "dependencies": {
60
- "@zowe/core-for-zowe-sdk": "7.29.30",
61
- "@zowe/imperative": "5.27.21",
62
- "@zowe/provisioning-for-zowe-sdk": "7.29.30",
63
- "@zowe/zos-console-for-zowe-sdk": "7.29.30",
64
- "@zowe/zos-files-for-zowe-sdk": "7.29.30",
65
- "@zowe/zos-jobs-for-zowe-sdk": "7.29.30",
66
- "@zowe/zos-logs-for-zowe-sdk": "7.29.30",
67
- "@zowe/zos-tso-for-zowe-sdk": "7.29.30",
68
- "@zowe/zos-uss-for-zowe-sdk": "7.29.30",
69
- "@zowe/zos-workflows-for-zowe-sdk": "7.29.30",
70
- "@zowe/zosmf-for-zowe-sdk": "7.29.30",
60
+ "@zowe/core-for-zowe-sdk": "7.29.32",
61
+ "@zowe/imperative": "5.27.23",
62
+ "@zowe/provisioning-for-zowe-sdk": "7.29.32",
63
+ "@zowe/zos-console-for-zowe-sdk": "7.29.32",
64
+ "@zowe/zos-files-for-zowe-sdk": "7.29.32",
65
+ "@zowe/zos-jobs-for-zowe-sdk": "7.29.32",
66
+ "@zowe/zos-logs-for-zowe-sdk": "7.29.32",
67
+ "@zowe/zos-tso-for-zowe-sdk": "7.29.32",
68
+ "@zowe/zos-uss-for-zowe-sdk": "7.29.32",
69
+ "@zowe/zos-workflows-for-zowe-sdk": "7.29.32",
70
+ "@zowe/zosmf-for-zowe-sdk": "7.29.32",
71
71
  "find-process": "1.4.7",
72
72
  "get-stream": "6.0.1",
73
73
  "lodash": "4.18.1",
@@ -77,7 +77,7 @@
77
77
  "devDependencies": {
78
78
  "@types/diff": "^5.0.2",
79
79
  "@types/lodash": "^4.14.175",
80
- "@zowe/cli-test-utils": "7.29.30",
80
+ "@zowe/cli-test-utils": "7.29.32",
81
81
  "comment-json": "^4.1.1",
82
82
  "strip-ansi": "^6.0.1",
83
83
  "which": "^2.0.2"