Skip to content

Commit 2cea041

Browse files
committed
MNDR:
- move all data members from MYSQLND_PFC to MYSQLND_PFC_DATA
1 parent c286d70 commit 2cea041

File tree

5 files changed

+72
-78
lines changed

5 files changed

+72
-78
lines changed

ext/mysqlnd/mysqlnd.c

+7-4
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ mysqlnd_run_authentication(
543543
scrambled_data =
544544
auth_plugin->methods.get_auth_data(NULL, &scrambled_data_len, conn, user, passwd, passwd_len,
545545
plugin_data, plugin_data_len, session_options,
546-
&conn->protocol_frame_codec->data->options, mysql_flags);
546+
conn->protocol_frame_codec->data, mysql_flags);
547547
if (conn->error_info->error_no) {
548548
goto end;
549549
}
@@ -685,7 +685,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA *
685685
mysql_flags &= ~CLIENT_COMPRESS;
686686
}
687687
#else
688-
if (pfc && pfc->data->options.flags & MYSQLND_NET_FLAG_USE_COMPRESSION) {
688+
if (pfc && pfc->data->flags & MYSQLND_NET_FLAG_USE_COMPRESSION) {
689689
mysql_flags |= CLIENT_COMPRESS;
690690
}
691691
#endif
@@ -694,8 +694,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA *
694694
mysql_flags &= ~CLIENT_SSL;
695695
}
696696
#else
697-
if (vio && (vio->data->options.ssl_key || vio->data->options.ssl_cert ||
698-
vio->data->options.ssl_ca || vio->data->options.ssl_capath || vio->data->options.ssl_cipher))
697+
if (vio && (vio->data->options.ssl_key ||
698+
vio->data->options.ssl_cert ||
699+
vio->data->options.ssl_ca ||
700+
vio->data->options.ssl_capath ||
701+
vio->data->options.ssl_cipher))
699702
{
700703
mysql_flags |= CLIENT_SSL;
701704
}

ext/mysqlnd/mysqlnd_auth.c

+9-9
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ mysqlnd_auth_change_user(MYSQLND_CONN_DATA * const conn,
224224

225225
if (!PACKET_WRITE(auth_packet)) {
226226
SET_CONNECTION_STATE(&conn->state, CONN_QUIT_SENT);
227-
SET_CLIENT_ERROR(conn->error_info, CR_SERVER_GONE_ERROR, UNKNOWN_SQLSTATE, mysqlnd_server_gone);
227+
SET_CLIENT_ERROR(conn->error_info, CR_SERVER_GONE_ERROR, UNKNOWN_SQLSTATE, mysqlnd_server_gone);
228228
goto end;
229229
}
230230
}
@@ -359,7 +359,7 @@ mysqlnd_native_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
359359
MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
360360
const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
361361
const MYSQLND_SESSION_OPTIONS * const session_options,
362-
const MYSQLND_PFC_OPTIONS * const ppec_options,
362+
const MYSQLND_PFC_DATA * const pfc_data,
363363
zend_ulong mysql_flags
364364
)
365365
{
@@ -419,7 +419,7 @@ mysqlnd_pam_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self,
419419
MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
420420
const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
421421
const MYSQLND_SESSION_OPTIONS * const session_options,
422-
const MYSQLND_PFC_OPTIONS * const ppec_options,
422+
const MYSQLND_PFC_DATA * const pfc_data,
423423
zend_ulong mysql_flags
424424
)
425425
{
@@ -480,17 +480,17 @@ mysqlnd_xor_string(char * dst, const size_t dst_len, const char * xor_str, const
480480
static RSA *
481481
mysqlnd_sha256_get_rsa_key(MYSQLND_CONN_DATA * conn,
482482
const MYSQLND_SESSION_OPTIONS * const session_options,
483-
const MYSQLND_PFC_OPTIONS * const io_options
483+
const MYSQLND_PFC_DATA * const pfc_data
484484
)
485485
{
486486
RSA * ret = NULL;
487-
const char * fname = (io_options->sha256_server_public_key && io_options->sha256_server_public_key[0] != '\0')?
488-
io_options->sha256_server_public_key:
487+
const char * fname = (pfc_data->sha256_server_public_key && pfc_data->sha256_server_public_key[0] != '\0')?
488+
pfc_data->sha256_server_public_key:
489489
MYSQLND_G(sha256_server_public_key);
490490
php_stream * stream;
491491
DBG_ENTER("mysqlnd_sha256_get_rsa_key");
492492
DBG_INF_FMT("options_s256_pk=[%s] MYSQLND_G(sha256_server_public_key)=[%s]",
493-
io_options->sha256_server_public_key? io_options->sha256_server_public_key:"n/a",
493+
pfc_data->sha256_server_public_key? pfc_data->sha256_server_public_key:"n/a",
494494
MYSQLND_G(sha256_server_public_key)? MYSQLND_G(sha256_server_public_key):"n/a");
495495
if (!fname || fname[0] == '\0') {
496496
MYSQLND_PACKET_SHA256_PK_REQUEST * pk_req_packet = NULL;
@@ -569,7 +569,7 @@ mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
569569
MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
570570
const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
571571
const MYSQLND_SESSION_OPTIONS * const session_options,
572-
const MYSQLND_PFC_OPTIONS * const ppec_options,
572+
const MYSQLND_PFC_DATA * const pfc_data,
573573
zend_ulong mysql_flags
574574
)
575575
{
@@ -587,7 +587,7 @@ mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
587587
memcpy(ret, passwd, passwd_len);
588588
} else {
589589
*auth_data_len = 0;
590-
server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, ppec_options);
590+
server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, pfc_data);
591591

592592
if (server_public_key) {
593593
int server_public_key_len;

ext/mysqlnd/mysqlnd_protocol_frame_codec.c

+33-33
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ static enum_func_status
3636
MYSQLND_METHOD(mysqlnd_pfc, reset)(MYSQLND_PFC * const pfc, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info)
3737
{
3838
DBG_ENTER("mysqlnd_pfc::reset");
39-
pfc->packet_no = pfc->compressed_envelope_packet_no = 0;
39+
pfc->data->packet_no = pfc->data->compressed_envelope_packet_no = 0;
4040
DBG_RETURN(PASS);
4141
}
4242
/* }}} */
@@ -88,8 +88,8 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
8888
to_be_sent = MIN(left, MYSQLND_MAX_PACKET_SIZE);
8989
DBG_INF_FMT("to_be_sent=%u", to_be_sent);
9090
DBG_INF_FMT("packets_sent=%u", packets_sent);
91-
DBG_INF_FMT("compressed_envelope_packet_no=%u", pfc->compressed_envelope_packet_no);
92-
DBG_INF_FMT("packet_no=%u", pfc->packet_no);
91+
DBG_INF_FMT("compressed_envelope_packet_no=%u", pfc->data->compressed_envelope_packet_no);
92+
DBG_INF_FMT("packet_no=%u", pfc->data->packet_no);
9393
#ifdef MYSQLND_COMPRESSION_ENABLED
9494
if (pfc->data->compressed == TRUE) {
9595
/* here we need to compress the data and then write it, first comes the compressed header */
@@ -99,7 +99,7 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
9999

100100
STORE_HEADER_SIZE(safe_storage, uncompressed_payload);
101101
int3store(uncompressed_payload, to_be_sent);
102-
int1store(uncompressed_payload + 3, pfc->packet_no);
102+
int1store(uncompressed_payload + 3, pfc->data->packet_no);
103103
if (PASS == pfc->data->m.encode((compress_buf + COMPRESSED_HEADER_SIZE + MYSQLND_HEADER_SIZE), &tmp_complen,
104104
uncompressed_payload, to_be_sent + MYSQLND_HEADER_SIZE))
105105
{
@@ -113,10 +113,10 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
113113
RESTORE_HEADER_SIZE(uncompressed_payload, safe_storage);
114114

115115
int3store(compress_buf, payload_size);
116-
int1store(compress_buf + 3, pfc->packet_no);
116+
int1store(compress_buf + 3, pfc->data->packet_no);
117117
DBG_INF_FMT("writing "MYSQLND_SZ_T_SPEC" bytes to the network", payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE);
118118
bytes_sent = vio->data->m.network_write(vio, compress_buf, payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE, conn_stats, error_info);
119-
pfc->compressed_envelope_packet_no++;
119+
pfc->data->compressed_envelope_packet_no++;
120120
#if WHEN_WE_NEED_TO_CHECK_WHETHER_COMPRESSION_WORKS_CORRECTLY
121121
if (res == Z_OK) {
122122
size_t decompressed_size = left + MYSQLND_HEADER_SIZE;
@@ -145,12 +145,12 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
145145
DBG_INF("no compression");
146146
STORE_HEADER_SIZE(safe_storage, p);
147147
int3store(p, to_be_sent);
148-
int1store(p + 3, pfc->packet_no);
148+
int1store(p + 3, pfc->data->packet_no);
149149
bytes_sent = vio->data->m.network_write(vio, p, to_be_sent + MYSQLND_HEADER_SIZE, conn_stats, error_info);
150150
RESTORE_HEADER_SIZE(p, safe_storage);
151-
pfc->compressed_envelope_packet_no++;
151+
pfc->data->compressed_envelope_packet_no++;
152152
}
153-
pfc->packet_no++;
153+
pfc->data->packet_no++;
154154

155155
p += to_be_sent;
156156
left -= to_be_sent;
@@ -164,7 +164,7 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
164164
*/
165165
} while (bytes_sent && (left > 0 || to_be_sent == MYSQLND_MAX_PACKET_SIZE));
166166

167-
DBG_INF_FMT("packet_size="MYSQLND_SZ_T_SPEC" packet_no=%u", left, pfc->packet_no);
167+
DBG_INF_FMT("packet_size="MYSQLND_SZ_T_SPEC" packet_no=%u", left, pfc->data->packet_no);
168168

169169
MYSQLND_INC_CONN_STATISTIC_W_VALUE3(conn_stats,
170170
STAT_BYTES_SENT, count + packets_sent * MYSQLND_HEADER_SIZE,
@@ -276,15 +276,15 @@ MYSQLND_METHOD(mysqlnd_pfc, read_compressed_packet_from_stream_and_fill_read_buf
276276
retval = FAIL;
277277
goto end;
278278
}
279-
pfc->uncompressed_data = mysqlnd_create_read_buffer(decompressed_size);
280-
retval = pfc->data->m.decode(pfc->uncompressed_data->data, decompressed_size, compressed_data, net_payload_size);
279+
pfc->data->uncompressed_data = mysqlnd_create_read_buffer(decompressed_size);
280+
retval = pfc->data->m.decode(pfc->data->uncompressed_data->data, decompressed_size, compressed_data, net_payload_size);
281281
if (FAIL == retval) {
282282
goto end;
283283
}
284284
} else {
285285
DBG_INF_FMT("The server decided not to compress the data. Our job is easy. Copying %u bytes", net_payload_size);
286-
pfc->uncompressed_data = mysqlnd_create_read_buffer(net_payload_size);
287-
if (FAIL == vio->data->m.network_read(vio, pfc->uncompressed_data->data, net_payload_size, conn_stats, error_info)) {
286+
pfc->data->uncompressed_data = mysqlnd_create_read_buffer(net_payload_size);
287+
if (FAIL == vio->data->m.network_read(vio, pfc->data->uncompressed_data->data, net_payload_size, conn_stats, error_info)) {
288288
retval = FAIL;
289289
goto end;
290290
}
@@ -361,18 +361,18 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
361361
DBG_ENTER("mysqlnd_pfc::receive");
362362
#ifdef MYSQLND_COMPRESSION_ENABLED
363363
if (pfc->data->compressed) {
364-
if (pfc->uncompressed_data) {
365-
size_t to_read_from_buffer = MIN(pfc->uncompressed_data->bytes_left(pfc->uncompressed_data), to_read);
364+
if (pfc->data->uncompressed_data) {
365+
size_t to_read_from_buffer = MIN(pfc->data->uncompressed_data->bytes_left(pfc->data->uncompressed_data), to_read);
366366
DBG_INF_FMT("reading "MYSQLND_SZ_T_SPEC" from uncompressed_data buffer", to_read_from_buffer);
367367
if (to_read_from_buffer) {
368-
pfc->uncompressed_data->read(pfc->uncompressed_data, to_read_from_buffer, (zend_uchar *) p);
368+
pfc->data->uncompressed_data->read(pfc->data->uncompressed_data, to_read_from_buffer, (zend_uchar *) p);
369369
p += to_read_from_buffer;
370370
to_read -= to_read_from_buffer;
371371
}
372372
DBG_INF_FMT("left "MYSQLND_SZ_T_SPEC" to read", to_read);
373-
if (TRUE == pfc->uncompressed_data->is_empty(pfc->uncompressed_data)) {
373+
if (TRUE == pfc->data->uncompressed_data->is_empty(pfc->data->uncompressed_data)) {
374374
/* Everything was consumed. This should never happen here, but for security */
375-
pfc->uncompressed_data->free_buffer(&pfc->uncompressed_data);
375+
pfc->data->uncompressed_data->free_buffer(&pfc->data->uncompressed_data);
376376
}
377377
}
378378
if (to_read) {
@@ -385,15 +385,15 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
385385
}
386386
net_payload_size = uint3korr(net_header);
387387
packet_no = uint1korr(net_header + 3);
388-
if (pfc->compressed_envelope_packet_no != packet_no) {
388+
if (pfc->data->compressed_envelope_packet_no != packet_no) {
389389
DBG_ERR_FMT("Transport level: packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
390-
pfc->compressed_envelope_packet_no, packet_no, net_payload_size);
390+
pfc->data->compressed_envelope_packet_no, packet_no, net_payload_size);
391391

392392
php_error(E_WARNING, "Packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
393-
pfc->compressed_envelope_packet_no, packet_no, net_payload_size);
393+
pfc->data->compressed_envelope_packet_no, packet_no, net_payload_size);
394394
DBG_RETURN(FAIL);
395395
}
396-
pfc->compressed_envelope_packet_no++;
396+
pfc->data->compressed_envelope_packet_no++;
397397
#ifdef MYSQLND_DUMP_HEADER_N_BODY
398398
DBG_INF_FMT("HEADER: hwd_packet_no=%u size=%3u", packet_no, (zend_ulong) net_payload_size);
399399
#endif
@@ -424,15 +424,15 @@ MYSQLND_METHOD(mysqlnd_pfc, set_client_option)(MYSQLND_PFC * const pfc, enum_mys
424424
DBG_INF_FMT("option=%u", option);
425425
switch (option) {
426426
case MYSQL_OPT_COMPRESS:
427-
pfc->data->options.flags |= MYSQLND_NET_FLAG_USE_COMPRESSION;
427+
pfc->data->flags |= MYSQLND_NET_FLAG_USE_COMPRESSION;
428428
break;
429429
case MYSQL_SERVER_PUBLIC_KEY:
430430
{
431431
zend_bool pers = pfc->persistent;
432-
if (pfc->data->options.sha256_server_public_key) {
433-
mnd_pefree(pfc->data->options.sha256_server_public_key, pers);
432+
if (pfc->data->sha256_server_public_key) {
433+
mnd_pefree(pfc->data->sha256_server_public_key, pers);
434434
}
435-
pfc->data->options.sha256_server_public_key = value? mnd_pestrdup(value, pers) : NULL;
435+
pfc->data->sha256_server_public_key = value? mnd_pestrdup(value, pers) : NULL;
436436
break;
437437
}
438438
default:
@@ -450,13 +450,13 @@ MYSQLND_METHOD(mysqlnd_pfc, free_contents)(MYSQLND_PFC * pfc)
450450
DBG_ENTER("mysqlnd_pfc::free_contents");
451451

452452
#ifdef MYSQLND_COMPRESSION_ENABLED
453-
if (pfc->uncompressed_data) {
454-
pfc->uncompressed_data->free_buffer(&pfc->uncompressed_data);
453+
if (pfc->data->uncompressed_data) {
454+
pfc->data->uncompressed_data->free_buffer(&pfc->data->uncompressed_data);
455455
}
456456
#endif
457-
if (pfc->data->options.sha256_server_public_key) {
458-
mnd_pefree(pfc->data->options.sha256_server_public_key, pfc->persistent);
459-
pfc->data->options.sha256_server_public_key = NULL;
457+
if (pfc->data->sha256_server_public_key) {
458+
mnd_pefree(pfc->data->sha256_server_public_key, pfc->persistent);
459+
pfc->data->sha256_server_public_key = NULL;
460460
}
461461

462462
DBG_VOID_RETURN;
@@ -518,7 +518,7 @@ mysqlnd_pfc_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO
518518
{
519519
MYSQLND_PFC * pfc;
520520
DBG_ENTER("mysqlnd_pfc_init");
521-
pfc = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_net(persistent, stats, error_info);
521+
pfc = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_protocol_frame_codec(persistent, stats, error_info);
522522
DBG_RETURN(pfc);
523523
}
524524
/* }}} */

ext/mysqlnd/mysqlnd_structs.h

+19-28
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,6 @@ typedef struct st_mysqlnd_session_options
233233
} MYSQLND_SESSION_OPTIONS;
234234

235235

236-
typedef struct st_mysqlnd_protocol_frame_codec_options
237-
{
238-
uint64_t flags;
239-
240-
char * sha256_server_public_key;
241-
} MYSQLND_PFC_OPTIONS;
242-
243-
244236
typedef struct st_mysqlnd_vio_options
245237
{
246238
/* timeouts */
@@ -376,7 +368,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory);
376368
typedef MYSQLND * (*func_mysqlnd_object_factory__get_connection)(struct st_mysqlnd_object_factory_methods * factory, zend_bool persistent);
377369
typedef MYSQLND * (*func_mysqlnd_object_factory__clone_connection_object)(MYSQLND * conn);
378370
typedef MYSQLND_STMT * (*func_mysqlnd_object_factory__get_prepared_statement)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
379-
typedef MYSQLND_PFC * (*func_mysqlnd_object_factory__get_net)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
371+
typedef MYSQLND_PFC * (*func_mysqlnd_object_factory__get_pfc)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
380372
typedef MYSQLND_VIO * (*func_mysqlnd_object_factory__get_vio)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
381373
typedef MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * (*func_mysqlnd_object_factory__get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
382374

@@ -386,7 +378,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory)
386378
func_mysqlnd_object_factory__get_connection get_connection;
387379
func_mysqlnd_object_factory__clone_connection_object clone_connection_object;
388380
func_mysqlnd_object_factory__get_prepared_statement get_prepared_statement;
389-
func_mysqlnd_object_factory__get_net get_net;
381+
func_mysqlnd_object_factory__get_pfc get_protocol_frame_codec;
390382
func_mysqlnd_object_factory__get_vio get_vio;
391383
func_mysqlnd_object_factory__get_protocol_payload_decoder_factory get_protocol_payload_decoder_factory;
392384
};
@@ -1114,14 +1106,23 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec)
11141106

11151107
struct st_mysqlnd_protocol_frame_codec_data
11161108
{
1117-
php_stream *stream;
1118-
zend_bool compressed;
1119-
zend_bool ssl;
1120-
MYSQLND_PFC_OPTIONS options;
1109+
php_stream *stream;
1110+
zend_bool compressed;
1111+
zend_bool ssl;
1112+
uint64_t flags;
1113+
char * sha256_server_public_key;
11211114

1122-
unsigned int refcount;
1115+
#ifdef MYSQLND_COMPRESSION_ENABLED
1116+
MYSQLND_READ_BUFFER * uncompressed_data;
1117+
#else
1118+
void * unused_pad1;
1119+
#endif
11231120

1124-
zend_bool persistent;
1121+
/* sequence for simple checking of correct packets */
1122+
zend_uchar packet_no;
1123+
zend_uchar compressed_envelope_packet_no;
1124+
1125+
zend_bool persistent;
11251126

11261127
MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) m;
11271128
};
@@ -1131,17 +1132,7 @@ struct st_mysqlnd_protocol_frame_codec
11311132
{
11321133
struct st_mysqlnd_protocol_frame_codec_data * data;
11331134

1134-
#ifdef MYSQLND_COMPRESSION_ENABLED
1135-
MYSQLND_READ_BUFFER * uncompressed_data;
1136-
#else
1137-
void * unused_pad1;
1138-
#endif
1139-
1140-
zend_bool persistent;
1141-
1142-
/* sequence for simple checking of correct packets */
1143-
zend_uchar packet_no;
1144-
zend_uchar compressed_envelope_packet_no;
1135+
zend_bool persistent;
11451136
};
11461137

11471138

@@ -1366,7 +1357,7 @@ typedef zend_uchar * (*func_auth_plugin__get_auth_data)(struct st_mysqlnd_authen
13661357
MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
13671358
const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
13681359
const MYSQLND_SESSION_OPTIONS * const session_options,
1369-
const MYSQLND_PFC_OPTIONS * const pfc_options, zend_ulong mysql_flags
1360+
const MYSQLND_PFC_DATA * const pfc_data, zend_ulong mysql_flags
13701361
);
13711362

13721363
struct st_mysqlnd_authentication_plugin

ext/mysqlnd/mysqlnd_wireprotocol.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -265,21 +265,21 @@ mysqlnd_read_header(MYSQLND_PFC * pfc, MYSQLND_VIO * vio, MYSQLND_PACKET_HEADER
265265
STAT_PROTOCOL_OVERHEAD_IN, MYSQLND_HEADER_SIZE,
266266
STAT_PACKETS_RECEIVED, 1);
267267

268-
if (pfc->data->compressed || pfc->packet_no == header->packet_no) {
268+
if (pfc->data->compressed || pfc->data->packet_no == header->packet_no) {
269269
/*
270270
Have to increase the number, so we can send correct number back. It will
271271
round at 255 as this is unsigned char. The server needs this for simple
272272
flow control checking.
273273
*/
274-
pfc->packet_no++;
274+
pfc->data->packet_no++;
275275
DBG_RETURN(PASS);
276276
}
277277

278278
DBG_ERR_FMT("Logical link: packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
279-
pfc->packet_no, header->packet_no, header->size);
279+
pfc->data->packet_no, header->packet_no, header->size);
280280

281281
php_error(E_WARNING, "Packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
282-
pfc->packet_no, header->packet_no, header->size);
282+
pfc->data->packet_no, header->packet_no, header->size);
283283
DBG_RETURN(FAIL);
284284
}
285285
/* }}} */

0 commit comments

Comments
 (0)