bdy 1.9.48 → 1.9.49-dev

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.9.48",
4
+ "version": "1.9.49-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {
@@ -148,6 +148,7 @@ class ServerSsh extends events_1.default {
148
148
  let pty;
149
149
  let x11;
150
150
  const closeSession = () => {
151
+ logger_js_1.default.debug('ssh close session');
151
152
  env = null;
152
153
  pty = null;
153
154
  x11 = null;
@@ -161,13 +162,15 @@ class ServerSsh extends events_1.default {
161
162
  channel.removeAllListeners();
162
163
  channel = null;
163
164
  }
164
- if (client) {
165
- client.end();
166
- }
165
+ client.removeListener('close', closeSession);
166
+ client = null;
167
167
  };
168
+ client.on('close', closeSession);
168
169
  session.on('close', closeSession);
169
170
  session.on('end', closeSession);
170
171
  session.on('pty', (accept, reject, info) => {
172
+ logger_js_1.default.debug('ssh pty');
173
+ logger_js_1.default.debug(info);
171
174
  if (!proxyClient) {
172
175
  if (reject)
173
176
  reject();
@@ -178,6 +181,8 @@ class ServerSsh extends events_1.default {
178
181
  accept();
179
182
  });
180
183
  session.on('window-change', (accept, reject, info) => {
184
+ logger_js_1.default.debug('ssh window-change');
185
+ logger_js_1.default.debug(info);
181
186
  if (!proxyClient) {
182
187
  if (reject)
183
188
  reject();
@@ -195,6 +200,7 @@ class ServerSsh extends events_1.default {
195
200
  accept();
196
201
  });
197
202
  session.on('shell', (accept, reject) => {
203
+ logger_js_1.default.debug('ssh shell');
198
204
  if (!proxyClient || !accept) {
199
205
  if (reject)
200
206
  reject();
@@ -220,6 +226,8 @@ class ServerSsh extends events_1.default {
220
226
  });
221
227
  });
222
228
  session.on('signal', (accept, reject, info) => {
229
+ logger_js_1.default.debug('ssh signal');
230
+ logger_js_1.default.debug(info);
223
231
  const { name } = info;
224
232
  if (!proxyClient || !name || !channel || !channel.signal) {
225
233
  if (reject)
@@ -231,6 +239,8 @@ class ServerSsh extends events_1.default {
231
239
  accept();
232
240
  });
233
241
  session.on('subsystem', (accept, reject, info) => {
242
+ logger_js_1.default.debug('ssh subsystem');
243
+ logger_js_1.default.debug(info);
234
244
  const { name } = info;
235
245
  if (!proxyClient || !accept || !name) {
236
246
  if (reject)
@@ -254,6 +264,8 @@ class ServerSsh extends events_1.default {
254
264
  });
255
265
  });
256
266
  session.on('x11', (accept, reject, info) => {
267
+ logger_js_1.default.debug('ssh x11');
268
+ logger_js_1.default.debug(info);
257
269
  if (!proxyClient) {
258
270
  if (reject)
259
271
  reject();
@@ -264,6 +276,8 @@ class ServerSsh extends events_1.default {
264
276
  accept();
265
277
  });
266
278
  session.on('exec', (accept, reject, info) => {
279
+ logger_js_1.default.debug('ssh exec');
280
+ logger_js_1.default.debug(info);
267
281
  if (!info.command || !accept) {
268
282
  if (reject)
269
283
  reject();
@@ -294,6 +308,8 @@ class ServerSsh extends events_1.default {
294
308
  });
295
309
  });
296
310
  session.on('env', (accept, reject, info) => {
311
+ logger_js_1.default.debug('ssh env');
312
+ logger_js_1.default.debug(info);
297
313
  Object.keys(info || {}).forEach((key) => {
298
314
  env[key] = info[key];
299
315
  });
@@ -301,6 +317,7 @@ class ServerSsh extends events_1.default {
301
317
  accept();
302
318
  });
303
319
  session.on('sftp', (accept, reject) => {
320
+ logger_js_1.default.debug('sftp');
304
321
  if (!sftp && accept) {
305
322
  sftp = new sftp_1.default(accept());
306
323
  }
@@ -310,14 +327,15 @@ class ServerSsh extends events_1.default {
310
327
  });
311
328
  }
312
329
  processClient(client) {
330
+ logger_js_1.default.debug('new ssh client');
313
331
  let proxyClient;
314
332
  client.setNoDelay();
315
333
  client.on('authentication', async (ctx) => {
316
334
  proxyClient = await this.authenticateClient(ctx);
335
+ logger_js_1.default.debug('ssh authentication', !!proxyClient);
317
336
  });
318
337
  client.on('close', () => {
319
- client.removeAllListeners();
320
- client = null;
338
+ logger_js_1.default.debug('ssh close');
321
339
  if (proxyClient) {
322
340
  try {
323
341
  proxyClient.removeAllListeners();
@@ -328,6 +346,10 @@ class ServerSsh extends events_1.default {
328
346
  }
329
347
  proxyClient = null;
330
348
  }
349
+ setTimeout(() => {
350
+ client.removeAllListeners();
351
+ client = null;
352
+ }, 1000);
331
353
  });
332
354
  client.on('error', (err) => {
333
355
  logger_js_1.default.debug('Error on ssh server client');
@@ -335,6 +357,7 @@ class ServerSsh extends events_1.default {
335
357
  client.end();
336
358
  });
337
359
  client.on('session', (accept) => {
360
+ logger_js_1.default.debug('ssh session');
338
361
  this.clientSession(accept(), client, proxyClient);
339
362
  });
340
363
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "bdy",
3
3
  "preferGlobal": false,
4
- "version": "1.9.48",
4
+ "version": "1.9.49-dev",
5
5
  "type": "commonjs",
6
6
  "license": "MIT",
7
7
  "scripts": {