Skip to content

Commit

Permalink
emit client errors like unauthorized
Browse files Browse the repository at this point in the history
  • Loading branch information
behrad committed Jun 6, 2018
1 parent 035dc98 commit 2f7a8e9
Showing 1 changed file with 15 additions and 0 deletions.
15 changes: 15 additions & 0 deletions lib/handlers/connect.js
Expand Up @@ -60,28 +60,43 @@ function authenticate (arg, done) {
negate)

function negate (err, successful) {
var errorMessages = [
'',
'unacceptable protocol version',
'identifier rejected',
'Server unavailable',
'bad user name or password',
'not authorized'
]
var errCode
if (!err && successful) {
client.broker.registerClient(client)
return done()
} else if (err) {
if (err.returnCode && (err.returnCode >= 1 && err.returnCode <= 3)) {
errCode = err.returnCode
write(client, {
cmd: 'connack',
returnCode: err.returnCode
}, client.close.bind(client, done))
} else {
// If errorCode is 4 or not a number
errCode = 4
write(client, {
cmd: 'connack',
returnCode: 4
}, client.close.bind(client, done))
}
} else {
errCode = 5
write(client, {
cmd: 'connack',
returnCode: 5
}, client.close.bind(client, done))
}
var error = new Error(errorMessages[errCode])
error.errorCode = errCode
client.broker.emit('clientError', client, error)
}
}

Expand Down

0 comments on commit 2f7a8e9

Please sign in to comment.