12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- var mysql = require('../index.js');
- var flags = require('../lib/constants/client.js');
- var auth = require('../lib/auth_41.js');
- function authenticate(params, cb) {
- console.log(params);
- var doubleSha = auth.doubleSha1('pass123');
- var isValid = auth.verifyToken(params.authPluginData1, params.authPluginData2, params.authToken, doubleSha);
- if (isValid)
- cb(null);
- else
- // for list of codes lib/constants/errors.js
- cb(null, { message: 'wrong password dude', code: 1045});
- }
- var server = mysql.createServer();
- server.listen(3333);
- server.on('connection', function(conn) {
- // we can deny connection here:
- // conn.writeError({ message: 'secret', code: 123 });
- // conn.close();
- conn.serverHandshake({
- protocolVersion: 10,
- serverVersion: '5.6.10', //'node.js rocks',
- connectionId: 1234,
- statusFlags: 2,
- characterSet: 8,
- capabilityFlags: 0xffffff,
- authCallback: authenticate
- });
- conn.on('field_list', function(table, fields) {
- console.log('FIELD LIST:', table, fields);
- conn.writeEof();
- });
- conn.on('query', function(query) {
- conn.writeColumns([{
- catalog: 'def',
- schema: 'test',
- table: 'test_table',
- orgTable: 'test_table',
- name: 'beta',
- orgName: 'beta',
- characterSet: 33,
- columnLength: 384,
- columnType: 253,
- flags: 0,
- decimals: 0
- }]);
- conn.writeTextRow(['test тест テスト փորձարկում পরীক্ষা kiểm tra ']);
- conn.writeTextRow(['ტესტი પરીક્ષણ מבחן פּרובירן اختبار परीक्षण']);
- conn.writeEof();
- conn.close();
- });
- });
|