|
1 | 1 | // An experimental fake MySQL server for tricky integration tests. Expanded |
2 | 2 | // as needed. |
3 | 3 |
|
4 | | -var Buffer = require('safe-buffer').Buffer; |
5 | | -var common = require('./common'); |
6 | | -var Charsets = common.Charsets; |
7 | | -var Crypto = require('crypto'); |
8 | | -var Net = require('net'); |
9 | | -var tls = require('tls'); |
10 | | -var Packets = common.Packets; |
11 | | -var PacketWriter = common.PacketWriter; |
12 | | -var Parser = common.Parser; |
13 | | -var Types = common.Types; |
14 | | -var Auth = require(common.lib + '/protocol/Auth'); |
15 | | -var Errors = common.Errors; |
16 | | -var EventEmitter = require('events').EventEmitter; |
17 | | -var Util = require('util'); |
| 4 | +var Buffer = require('safe-buffer').Buffer; |
| 5 | +var common = require('./common'); |
| 6 | +var Charsets = common.Charsets; |
| 7 | +var ClientConstants = common.ClientConstants; |
| 8 | +var Crypto = require('crypto'); |
| 9 | +var Net = require('net'); |
| 10 | +var tls = require('tls'); |
| 11 | +var Packets = common.Packets; |
| 12 | +var PacketWriter = common.PacketWriter; |
| 13 | +var Parser = common.Parser; |
| 14 | +var Types = common.Types; |
| 15 | +var Auth = require(common.lib + '/protocol/Auth'); |
| 16 | +var Errors = common.Errors; |
| 17 | +var EventEmitter = require('events').EventEmitter; |
| 18 | +var Util = require('util'); |
18 | 19 |
|
19 | 20 | module.exports = FakeServer; |
20 | 21 | Util.inherits(FakeServer, EventEmitter); |
@@ -257,8 +258,8 @@ FakeConnection.prototype._handleQueryPacket = function _handleQueryPacket(packet |
257 | 258 | this._parser.resetPacketNumber(); |
258 | 259 | }; |
259 | 260 |
|
260 | | -FakeConnection.prototype._parsePacket = function(header) { |
261 | | - var Packet = this._determinePacket(header); |
| 261 | +FakeConnection.prototype._parsePacket = function() { |
| 262 | + var Packet = this._determinePacket(); |
262 | 263 | var packet = new Packet({protocol41: true}); |
263 | 264 |
|
264 | 265 | packet.parse(this._parser); |
@@ -350,15 +351,11 @@ FakeConnection.prototype._parsePacket = function(header) { |
350 | 351 | } |
351 | 352 | }; |
352 | 353 |
|
353 | | -FakeConnection.prototype._determinePacket = function(header) { |
| 354 | +FakeConnection.prototype._determinePacket = function _determinePacket() { |
354 | 355 | if (!this._clientAuthenticationPacket) { |
355 | | - // first packet phase |
356 | | - |
357 | | - if (header.length === 32) { |
358 | | - return Packets.SSLRequestPacket; |
359 | | - } |
360 | | - |
361 | | - return Packets.ClientAuthenticationPacket; |
| 356 | + return !this._ssl && (this._parser.peak(1) << 8) & ClientConstants.CLIENT_SSL |
| 357 | + ? Packets.SSLRequestPacket |
| 358 | + : Packets.ClientAuthenticationPacket; |
362 | 359 | } |
363 | 360 |
|
364 | 361 | if (this._handshakeOptions.oldPassword && !this._oldPasswordPacket) { |
|
0 commit comments