diff --git a/lib/auth/UserPassword.js b/lib/auth/UserPassword.js index 0f17eb9..c55b237 100644 --- a/lib/auth/UserPassword.js +++ b/lib/auth/UserPassword.js @@ -129,7 +129,7 @@ module.exports = function UserPasswordAuthHandlers() { stream.write(BUF_FAILURE); cb(success); } - }); + }, stream); return; } break; diff --git a/lib/server.js b/lib/server.js index bcac647..60c0fbe 100644 --- a/lib/server.js +++ b/lib/server.js @@ -127,7 +127,7 @@ Server.prototype._onConnection = function(socket) { } if (self._events.connection) { - self.emit('connection', reqInfo, accept, deny); + self.emit('connection', reqInfo, accept, deny, socket); return; } @@ -138,10 +138,17 @@ Server.prototype._onConnection = function(socket) { if (socket.dstSock && socket.dstSock.writable) socket.dstSock.end(); socket.dstSock = undefined; + self.emit('clientClose', socket); + } + + function onEnd() { + if (socket.dstSock && socket.dstSock.writable) + socket.dstSock.end(); + socket.dstSock = undefined; } socket.on('error', onErrorNoop) - .on('end', onClose) + .on('end', onEnd) .on('close', onClose); };