@@ -145,7 +145,6 @@ export default class localServer {
145145 let sendMail = false
146146 const _exitFunction = err => {
147147 console . trace ( `makeConnect on _exitFunction err this.CoNETConnectCalss destroy!` , err )
148-
149148 this . CoNETConnectCalss = null
150149
151150 }
@@ -274,18 +273,19 @@ export default class localServer {
274273
275274 socket . on ( 'doingRequest' , ( uuid , request , CallBack1 ) => {
276275 const _uuid = Uuid . v4 ( )
277- CallBack1 ( _uuid )
276+ CallBack1 ( _uuid )
278277
279278 const _callBack = ( ...data ) => {
280279 socket . emit ( _uuid , ...data )
281280 }
282281 this . requestPool . set ( uuid , socket )
283- saveLog ( `doingRequest on ${ uuid } ` )
282+
284283 if ( this . CoNETConnectCalss ) {
284+ saveLog ( `doingRequest on ${ uuid } ` )
285285 return this . CoNETConnectCalss . requestCoNET_v1 ( uuid , request , _callBack )
286286 }
287- return socket . emit ( 'systemErr' )
288-
287+ saveLog ( `doingRequest on ${ uuid } but have not CoNETConnectCalss need restart! socket.emit ( 'systemErr' )` )
288+ socket . emit ( 'systemErr' )
289289 } )
290290
291291 socket . on ( 'getFilesFromImap' , ( files : string , CallBack1 ) => {
@@ -295,7 +295,7 @@ export default class localServer {
295295 const _callBack = ( ...data ) => {
296296 socket . emit ( uuid , ...data )
297297 }
298- console . log ( `socket.on ('getFilesFromImap')` , files )
298+
299299 if ( typeof files !== 'string' || ! files . length ) {
300300 return _callBack ( new Error ( 'invalidRequest' ) )
301301 }
@@ -421,10 +421,16 @@ export default class localServer {
421421 socket . on ( 'checkPemPassword' , ( password : string , CallBack1 ) => {
422422 const uuid = Uuid . v4 ( )
423423 CallBack1 ( uuid )
424+ this . sessionHashPool . push ( sessionHash = Crypto . randomBytes ( 10 ) . toString ( 'hex' ) )
424425
425- const passwordFail = ( ...data ) => {
426- return socket . emit ( uuid , null , ...data )
426+ const passwordFail = ( err ) => {
427+ if ( err ) {
428+ return socket . emit ( uuid , null , err )
429+ }
430+ return socket . emit ( uuid , null , err , this . Pbkdf2Password , sessionHash )
431+
427432 }
433+
428434 if ( ! this . config . keypair || ! this . config . keypair . publicKey ) {
429435 console . log ( `checkPemPassword !this.config.keypair` )
430436
@@ -439,7 +445,10 @@ export default class localServer {
439445 console . log ( `savedPasswrod !== password ` )
440446 return passwordFail ( true )
441447 }
442-
448+
449+ return passwordFail ( this . imapConnectData )
450+
451+
443452 }
444453
445454 return Async . waterfall ( [
@@ -451,6 +460,7 @@ export default class localServer {
451460 ( key , next ) => {
452461 //console.log ( `checkPemPassword Tool.getKeyPairInfo success!`)
453462 if ( ! key . passwordOK ) {
463+ this . Pbkdf2Password = null
454464 saveLog ( `[${ clientName } ] on checkPemPassword had try password! [${ password } ]` )
455465 return passwordFail ( true )
456466 }
@@ -475,14 +485,14 @@ export default class localServer {
475485 }
476486 }
477487
478- this . sessionHashPool . push ( sessionHash = Crypto . randomBytes ( 10 ) . toString ( 'hex' ) )
479- //console.log (`this.sessionHashPool.push!\n${ this.sessionHashPool }\n${ this.sessionHashPool.length }`)
488+
489+ // console.log (`this.sessionHashPool.push!\n${ this.sessionHashPool }\n${ this.sessionHashPool.length }`)
480490 this . listenAfterPassword ( socket , sessionHash )
481491 try {
482492 this . imapConnectData = JSON . parse ( data )
483493 this . localConnected . set ( clientName , clientObj )
484494
485- return passwordFail ( this . imapConnectData , this . Pbkdf2Password , sessionHash )
495+ return passwordFail ( this . imapConnectData )
486496 } catch ( ex ) {
487497 return passwordFail ( null )
488498 }
@@ -496,7 +506,7 @@ export default class localServer {
496506 console . log ( `on deleteKeyPairNext` )
497507 const thisConnect = this . localConnected . get ( clientName )
498508
499- if ( this . localConnected . size > 1 && ! thisConnect . login ) {
509+ if ( this . localConnected . size > 1 && thisConnect && ! thisConnect . login ) {
500510 console . log ( `this.localConnected = [${ Util . inspect ( this . localConnected , false , 2 , true ) } ], thisConnect.login = [${ thisConnect . login } ]` )
501511 return this . socketServer . emit ( 'deleteKeyPairNoite' )
502512 }
0 commit comments