7f35240a5c
This is the same fix as supplied in 1178 but includes a test. Closes #1178
25 lines
877 B
JavaScript
25 lines
877 B
JavaScript
require(__dirname + '/test-helper');
|
|
|
|
test('md5 authentication', function() {
|
|
var client = createClient();
|
|
client.password = "!";
|
|
var salt = Buffer([1, 2, 3, 4]);
|
|
client.connection.emit('authenticationMD5Password', {salt: salt});
|
|
|
|
test('responds', function() {
|
|
assert.lengthIs(client.connection.stream.packets, 1);
|
|
test('should have correct encrypted data', function() {
|
|
var encrypted = Client.md5(client.password + client.user);
|
|
encrypted = Client.md5(encrypted + salt.toString('binary'));
|
|
var password = "md5" + encrypted
|
|
//how do we want to test this?
|
|
assert.equalBuffers(client.connection.stream.packets[0], new BufferList()
|
|
.addCString(password).join(true,'p'));
|
|
});
|
|
});
|
|
});
|
|
|
|
test('md5 of utf-8 strings', function() {
|
|
assert.equal(Client.md5('😊'), '5deda34cd95f304948d2bc1b4a62c11e');
|
|
});
|