Socket
Socket
Sign inDemoInstall

mysql2

Package Overview
Dependencies
Maintainers
3
Versions
184
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mysql2 - npm Package Compare versions

Comparing version 3.5.0 to 3.5.1

111

lib/connection.js

@@ -358,16 +358,29 @@ // This file was modified by Oracle on June 1, 2021.

const verifyIdentity = this.config.ssl.verifyIdentity;
const host = this.config.host;
const servername = this.config.host;
let secureEstablished = false;
const secureSocket = new Tls.TLSSocket(this.stream, {
rejectUnauthorized: rejectUnauthorized,
requestCert: true,
secureContext: secureContext,
isServer: false
this.stream.removeAllListeners('data');
const secureSocket = Tls.connect({
rejectUnauthorized,
requestCert: rejectUnauthorized,
secureContext,
isServer: false,
socket: this.stream,
servername
}, () => {
secureEstablished = true;
if (rejectUnauthorized) {
if (typeof servername === 'string' && verifyIdentity) {
const cert = secureSocket.getPeerCertificate(true);
const serverIdentityCheckError = Tls.checkServerIdentity(servername, cert);
if (serverIdentityCheckError) {
onSecure(serverIdentityCheckError);
return;
}
}
}
onSecure();
});
if (typeof host === 'string') {
secureSocket.setServername(host);
}
// error handler for secure socket
secureSocket.on('_tlsError', err => {
secureSocket.on('error', err => {
if (secureEstablished) {

@@ -379,40 +392,8 @@ this._handleNetworkError(err);

});
secureSocket.on('secure', () => {
secureEstablished = true;
let callbackValue = null;
if (rejectUnauthorized) {
callbackValue = secureSocket.ssl.verifyError()
if (!callbackValue && typeof host === 'string' && verifyIdentity) {
const cert = secureSocket.ssl.getPeerCertificate(true);
callbackValue = Tls.checkServerIdentity(host, cert)
}
}
onSecure(callbackValue);
});
secureSocket.on('data', data => {
this.packetParser.execute(data);
});
this.write = buffer => {
secureSocket.write(buffer);
};
// start TLS communications
secureSocket._start();
this.write = buffer => secureSocket.write(buffer);
}
pipe() {
if (this.stream instanceof Net.Stream) {
this.stream.ondata = (data, start, end) => {
this.packetParser.execute(data, start, end);
};
} else {
this.stream.on('data', data => {
this.packetParser.execute(
data.parent,
data.offset,
data.offset + data.length
);
});
}
}
protocolError(message, code) {

@@ -953,46 +934,2 @@ // Starting with MySQL 8.0.24, if the client closes the connection

if (Tls.TLSSocket) {
// not supported
} else {
Connection.prototype.startTLS = function _startTLS(onSecure) {
if (this.config.debug) {
// eslint-disable-next-line no-console
console.log('Upgrading connection to TLS');
}
const crypto = require('crypto');
const config = this.config;
const stream = this.stream;
const rejectUnauthorized = this.config.ssl.rejectUnauthorized;
const credentials = crypto.createCredentials({
key: config.ssl.key,
cert: config.ssl.cert,
passphrase: config.ssl.passphrase,
ca: config.ssl.ca,
ciphers: config.ssl.ciphers
});
const securePair = Tls.createSecurePair(
credentials,
false,
true,
rejectUnauthorized
);
if (stream.ondata) {
stream.ondata = null;
}
stream.removeAllListeners('data');
stream.pipe(securePair.encrypted);
securePair.encrypted.pipe(stream);
securePair.cleartext.on('data', data => {
this.packetParser.execute(data);
});
this.write = function(buffer) {
securePair.cleartext.write(buffer);
};
securePair.on('secure', () => {
onSecure(rejectUnauthorized ? securePair.ssl.verifyError() : null);
});
};
}
module.exports = Connection;

@@ -97,2 +97,4 @@ 'use strict';

this.changedRows = parseInt(m[1], 10);
} else {
this.changedRows = 0;
}

@@ -99,0 +101,0 @@ }

{
"name": "mysql2",
"version": "3.5.0",
"version": "3.5.1",
"description": "fast mysql driver. Implements core protocol, prepared statements, ssl and compression in native JS",

@@ -84,3 +84,3 @@ "main": "index.js",

"portfinder": "^1.0.28",
"prettier": "^2.4.1",
"prettier": "^3.0.0",
"progress": "^2.0.3",

@@ -87,0 +87,0 @@ "typescript": "^5.0.2",

@@ -56,2 +56,10 @@ ## MySQL 2

If you are using TypeScript, you will need to install `@types/node`.
```bash
npm install --save-dev @types/node
```
> For TypeScript documentation and examples, see [here](./documentation/en/TypeScript-Examples.md).
## First Query

@@ -58,0 +66,0 @@ ```js

@@ -0,1 +1,5 @@

/**
* @deprecated
* `OkPacket` is deprecated and might be removed in the future major release. Please use `ResultSetHeader` instead.
*/
declare interface OkPacket {

@@ -7,2 +11,6 @@ constructor: {

affectedRows: number;
/**
* @deprecated
* `changedRows` is deprecated and might be removed in the future major release. Please use `affectedRows` property instead.
*/
changedRows: number;

@@ -9,0 +17,0 @@ insertId: number;

@@ -6,14 +6,9 @@ import { OkPacket } from './OkPacket.js';

declare type ProcedureCallPacket<
T = RowDataPacket[] | RowDataPacket[][] | ResultSetHeader
T = [RowDataPacket[], ResultSetHeader] | ResultSetHeader,
> = T extends RowDataPacket[]
? [...T, ResultSetHeader]
: T extends RowDataPacket[][]
? [...T, ResultSetHeader]
: T extends ResultSetHeader | OkPacket | OkPacket[]
? [T, ResultSetHeader]
: T extends ResultSetHeader | OkPacket
? ResultSetHeader
:
| [...RowDataPacket[], ResultSetHeader]
| [...RowDataPacket[][], ResultSetHeader]
| ResultSetHeader;
: [RowDataPacket[], ResultSetHeader] | ResultSetHeader;
export { ProcedureCallPacket };

@@ -11,5 +11,9 @@ declare interface ResultSetHeader {

warningStatus: number;
changedRows?: number;
/**
* @deprecated
* `changedRows` is deprecated and might be removed in the future major release. Please use `affectedRows` property instead.
*/
changedRows: number;
}
export { ResultSetHeader };

@@ -23,2 +23,3 @@ import {

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -38,2 +39,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -54,2 +56,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -69,2 +72,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -71,0 +75,0 @@ | RowDataPacket[][]

@@ -18,2 +18,3 @@ import {

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -30,2 +31,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -43,2 +45,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -55,2 +58,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -57,0 +61,0 @@ | RowDataPacket[][]

@@ -18,2 +18,3 @@ import {

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -30,2 +31,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -43,2 +45,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -55,2 +58,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -57,0 +61,0 @@ | RowDataPacket[][]

@@ -23,2 +23,3 @@ import {

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -38,2 +39,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -54,2 +56,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -69,2 +72,3 @@ | RowDataPacket[][]

| ResultSetHeader
| ResultSetHeader[]
| RowDataPacket[]

@@ -71,0 +75,0 @@ | RowDataPacket[][]

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc