@@ -309,34 +309,36 @@ FakeConnection.prototype._parsePacket = function(header) {
309309 }
310310 break ;
311311 case Packets . ComChangeUserPacket :
312- if ( packet . user === 'does-not-exist' ) {
313- this . _sendPacket ( new Packets . ErrorPacket ( {
314- errno : Errors . ER_ACCESS_DENIED_ERROR ,
315- message : 'User does not exist'
316- } ) ) ;
317- this . _parser . resetPacketNumber ( ) ;
318- break ;
319- } else if ( packet . database === 'does-not-exist' ) {
320- this . _sendPacket ( new Packets . ErrorPacket ( {
321- errno : Errors . ER_BAD_DB_ERROR ,
322- message : 'Database does not exist'
323- } ) ) ;
312+ if ( ! this . emit ( 'changeUser' , packet ) ) {
313+ if ( packet . user === 'does-not-exist' ) {
314+ this . _sendPacket ( new Packets . ErrorPacket ( {
315+ errno : Errors . ER_ACCESS_DENIED_ERROR ,
316+ message : 'User does not exist'
317+ } ) ) ;
318+ this . _parser . resetPacketNumber ( ) ;
319+ break ;
320+ } else if ( packet . database === 'does-not-exist' ) {
321+ this . _sendPacket ( new Packets . ErrorPacket ( {
322+ errno : Errors . ER_BAD_DB_ERROR ,
323+ message : 'Database does not exist'
324+ } ) ) ;
325+ this . _parser . resetPacketNumber ( ) ;
326+ break ;
327+ }
328+
329+ this . _clientAuthenticationPacket = new Packets . ClientAuthenticationPacket ( {
330+ clientFlags : this . _clientAuthenticationPacket . clientFlags ,
331+ filler : this . _clientAuthenticationPacket . filler ,
332+ maxPacketSize : this . _clientAuthenticationPacket . maxPacketSize ,
333+ protocol41 : this . _clientAuthenticationPacket . protocol41 ,
334+ charsetNumber : packet . charsetNumber ,
335+ database : packet . database ,
336+ scrambleBuff : packet . scrambleBuff ,
337+ user : packet . user
338+ } ) ;
339+ this . _sendPacket ( new Packets . OkPacket ( ) ) ;
324340 this . _parser . resetPacketNumber ( ) ;
325- break ;
326341 }
327-
328- this . _clientAuthenticationPacket = new Packets . ClientAuthenticationPacket ( {
329- clientFlags : this . _clientAuthenticationPacket . clientFlags ,
330- filler : this . _clientAuthenticationPacket . filler ,
331- maxPacketSize : this . _clientAuthenticationPacket . maxPacketSize ,
332- protocol41 : this . _clientAuthenticationPacket . protocol41 ,
333- charsetNumber : packet . charsetNumber ,
334- database : packet . database ,
335- scrambleBuff : packet . scrambleBuff ,
336- user : packet . user
337- } ) ;
338- this . _sendPacket ( new Packets . OkPacket ( ) ) ;
339- this . _parser . resetPacketNumber ( ) ;
340342 break ;
341343 case Packets . ComQuitPacket :
342344 if ( ! this . emit ( 'quit' , packet ) ) {
0 commit comments