]> granicus.if.org Git - php/commitdiff
MNDR:
authorAndrey Hristov <andrey@php.net>
Tue, 10 Nov 2015 11:56:07 +0000 (12:56 +0100)
committerAndrey Hristov <andrey@php.net>
Thu, 12 Nov 2015 15:19:16 +0000 (16:19 +0100)
- move all data members from MYSQLND_PFC to MYSQLND_PFC_DATA

ext/mysqlnd/mysqlnd.c
ext/mysqlnd/mysqlnd_auth.c
ext/mysqlnd/mysqlnd_protocol_frame_codec.c
ext/mysqlnd/mysqlnd_structs.h
ext/mysqlnd/mysqlnd_wireprotocol.c

index b0498ef4043fd18b09f028d2f83584a53f6df280..9e627782bcfcbdd1f42f363c89266b0b1d8823f7 100644 (file)
@@ -543,7 +543,7 @@ mysqlnd_run_authentication(
                        scrambled_data =
                                auth_plugin->methods.get_auth_data(NULL, &scrambled_data_len, conn, user, passwd, passwd_len,
                                                                                                   plugin_data, plugin_data_len, session_options,
-                                                                                                  &conn->protocol_frame_codec->data->options, mysql_flags);
+                                                                                                  conn->protocol_frame_codec->data, mysql_flags);
                        if (conn->error_info->error_no) {
                                goto end;
                        }
@@ -685,7 +685,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA *
                mysql_flags &= ~CLIENT_COMPRESS;
        }
 #else
-       if (pfc && pfc->data->options.flags & MYSQLND_NET_FLAG_USE_COMPRESSION) {
+       if (pfc && pfc->data->flags & MYSQLND_NET_FLAG_USE_COMPRESSION) {
                mysql_flags |= CLIENT_COMPRESS;
        }
 #endif
@@ -694,8 +694,11 @@ MYSQLND_METHOD(mysqlnd_conn_data, get_updated_connect_flags)(MYSQLND_CONN_DATA *
                mysql_flags &= ~CLIENT_SSL;
        }
 #else
-       if (vio && (vio->data->options.ssl_key || vio->data->options.ssl_cert ||
-               vio->data->options.ssl_ca || vio->data->options.ssl_capath || vio->data->options.ssl_cipher))
+       if (vio && (vio->data->options.ssl_key ||
+                               vio->data->options.ssl_cert ||
+                               vio->data->options.ssl_ca ||
+                               vio->data->options.ssl_capath ||
+                               vio->data->options.ssl_cipher))
        {
                mysql_flags |= CLIENT_SSL;
        }
index fd9d174c12fa29e585b6c6392f8bd264cf295f3f..ef343ff6d4461d871b74e21ab3bc549872f24328 100644 (file)
@@ -224,7 +224,7 @@ mysqlnd_auth_change_user(MYSQLND_CONN_DATA * const conn,
 
                if (!PACKET_WRITE(auth_packet)) {
                        SET_CONNECTION_STATE(&conn->state, CONN_QUIT_SENT);
-                               SET_CLIENT_ERROR(conn->error_info, CR_SERVER_GONE_ERROR, UNKNOWN_SQLSTATE, mysqlnd_server_gone);
+                       SET_CLIENT_ERROR(conn->error_info, CR_SERVER_GONE_ERROR, UNKNOWN_SQLSTATE, mysqlnd_server_gone);
                        goto end;
                }
        }
@@ -359,7 +359,7 @@ mysqlnd_native_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
                                                                  MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                  const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                  const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                 const MYSQLND_PFC_OPTIONS * const ppec_options,
+                                                                 const MYSQLND_PFC_DATA * const pfc_data,
                                                                  zend_ulong mysql_flags
                                                                 )
 {
@@ -419,7 +419,7 @@ mysqlnd_pam_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self,
                                                           MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                           const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                           const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                          const MYSQLND_PFC_OPTIONS * const ppec_options,
+                                                          const MYSQLND_PFC_DATA * const pfc_data,
                                                           zend_ulong mysql_flags
                                                          )
 {
@@ -480,17 +480,17 @@ mysqlnd_xor_string(char * dst, const size_t dst_len, const char * xor_str, const
 static RSA *
 mysqlnd_sha256_get_rsa_key(MYSQLND_CONN_DATA * conn,
                                                   const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                  const MYSQLND_PFC_OPTIONS * const io_options
+                                                  const MYSQLND_PFC_DATA * const pfc_data
                                                  )
 {
        RSA * ret = NULL;
-       const char * fname = (io_options->sha256_server_public_key && io_options->sha256_server_public_key[0] != '\0')?
-                                                               io_options->sha256_server_public_key:
+       const char * fname = (pfc_data->sha256_server_public_key && pfc_data->sha256_server_public_key[0] != '\0')?
+                                                               pfc_data->sha256_server_public_key:
                                                                MYSQLND_G(sha256_server_public_key);
        php_stream * stream;
        DBG_ENTER("mysqlnd_sha256_get_rsa_key");
        DBG_INF_FMT("options_s256_pk=[%s] MYSQLND_G(sha256_server_public_key)=[%s]",
-                                io_options->sha256_server_public_key? io_options->sha256_server_public_key:"n/a",
+                                pfc_data->sha256_server_public_key? pfc_data->sha256_server_public_key:"n/a",
                                 MYSQLND_G(sha256_server_public_key)? MYSQLND_G(sha256_server_public_key):"n/a");
        if (!fname || fname[0] == '\0') {
                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
                                                                  MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                  const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                  const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                 const MYSQLND_PFC_OPTIONS * const ppec_options,
+                                                                 const MYSQLND_PFC_DATA * const pfc_data,
                                                                  zend_ulong mysql_flags
                                                                 )
 {
@@ -587,7 +587,7 @@ mysqlnd_sha256_auth_get_auth_data(struct st_mysqlnd_authentication_plugin * self
                memcpy(ret, passwd, passwd_len);
        } else {
                *auth_data_len = 0;
-               server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, ppec_options);
+               server_public_key = mysqlnd_sha256_get_rsa_key(conn, session_options, pfc_data);
 
                if (server_public_key) {
                        int server_public_key_len;
index 9732c3c1ca8960168ba0c7d7be2e4c829774970a..fccfd31a6b76de323695d3af38e680c355ddc9eb 100644 (file)
@@ -36,7 +36,7 @@ static enum_func_status
 MYSQLND_METHOD(mysqlnd_pfc, reset)(MYSQLND_PFC * const pfc, MYSQLND_STATS * const conn_stats, MYSQLND_ERROR_INFO * const error_info)
 {
        DBG_ENTER("mysqlnd_pfc::reset");
-       pfc->packet_no = pfc->compressed_envelope_packet_no = 0;
+       pfc->data->packet_no = pfc->data->compressed_envelope_packet_no = 0;
        DBG_RETURN(PASS);
 }
 /* }}} */
@@ -88,8 +88,8 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
                to_be_sent = MIN(left, MYSQLND_MAX_PACKET_SIZE);
                DBG_INF_FMT("to_be_sent=%u", to_be_sent);
                DBG_INF_FMT("packets_sent=%u", packets_sent);
-               DBG_INF_FMT("compressed_envelope_packet_no=%u", pfc->compressed_envelope_packet_no);
-               DBG_INF_FMT("packet_no=%u", pfc->packet_no);
+               DBG_INF_FMT("compressed_envelope_packet_no=%u", pfc->data->compressed_envelope_packet_no);
+               DBG_INF_FMT("packet_no=%u", pfc->data->packet_no);
 #ifdef MYSQLND_COMPRESSION_ENABLED
                if (pfc->data->compressed == TRUE) {
                        /* 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
 
                        STORE_HEADER_SIZE(safe_storage, uncompressed_payload);
                        int3store(uncompressed_payload, to_be_sent);
-                       int1store(uncompressed_payload + 3, pfc->packet_no);
+                       int1store(uncompressed_payload + 3, pfc->data->packet_no);
                        if (PASS == pfc->data->m.encode((compress_buf + COMPRESSED_HEADER_SIZE + MYSQLND_HEADER_SIZE), &tmp_complen,
                                                                           uncompressed_payload, to_be_sent + MYSQLND_HEADER_SIZE))
                        {
@@ -113,10 +113,10 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
                        RESTORE_HEADER_SIZE(uncompressed_payload, safe_storage);
 
                        int3store(compress_buf, payload_size);
-                       int1store(compress_buf + 3, pfc->packet_no);
+                       int1store(compress_buf + 3, pfc->data->packet_no);
                        DBG_INF_FMT("writing "MYSQLND_SZ_T_SPEC" bytes to the network", payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE);
                        bytes_sent = vio->data->m.network_write(vio, compress_buf, payload_size + MYSQLND_HEADER_SIZE + COMPRESSED_HEADER_SIZE, conn_stats, error_info);
-                       pfc->compressed_envelope_packet_no++;
+                       pfc->data->compressed_envelope_packet_no++;
   #if WHEN_WE_NEED_TO_CHECK_WHETHER_COMPRESSION_WORKS_CORRECTLY
                        if (res == Z_OK) {
                                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
                        DBG_INF("no compression");
                        STORE_HEADER_SIZE(safe_storage, p);
                        int3store(p, to_be_sent);
-                       int1store(p + 3, pfc->packet_no);
+                       int1store(p + 3, pfc->data->packet_no);
                        bytes_sent = vio->data->m.network_write(vio, p, to_be_sent + MYSQLND_HEADER_SIZE, conn_stats, error_info);
                        RESTORE_HEADER_SIZE(p, safe_storage);
-                       pfc->compressed_envelope_packet_no++;
+                       pfc->data->compressed_envelope_packet_no++;
                }
-               pfc->packet_no++;
+               pfc->data->packet_no++;
 
                p += to_be_sent;
                left -= to_be_sent;
@@ -164,7 +164,7 @@ MYSQLND_METHOD(mysqlnd_pfc, send)(MYSQLND_PFC * const pfc, MYSQLND_VIO * const v
                */
        } while (bytes_sent && (left > 0 || to_be_sent == MYSQLND_MAX_PACKET_SIZE));
 
-       DBG_INF_FMT("packet_size="MYSQLND_SZ_T_SPEC" packet_no=%u", left, pfc->packet_no);
+       DBG_INF_FMT("packet_size="MYSQLND_SZ_T_SPEC" packet_no=%u", left, pfc->data->packet_no);
 
        MYSQLND_INC_CONN_STATISTIC_W_VALUE3(conn_stats,
                        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
                        retval = FAIL;
                        goto end;
                }
-               pfc->uncompressed_data = mysqlnd_create_read_buffer(decompressed_size);
-               retval = pfc->data->m.decode(pfc->uncompressed_data->data, decompressed_size, compressed_data, net_payload_size);
+               pfc->data->uncompressed_data = mysqlnd_create_read_buffer(decompressed_size);
+               retval = pfc->data->m.decode(pfc->data->uncompressed_data->data, decompressed_size, compressed_data, net_payload_size);
                if (FAIL == retval) {
                        goto end;
                }
        } else {
                DBG_INF_FMT("The server decided not to compress the data. Our job is easy. Copying %u bytes", net_payload_size);
-               pfc->uncompressed_data = mysqlnd_create_read_buffer(net_payload_size);
-               if (FAIL == vio->data->m.network_read(vio, pfc->uncompressed_data->data, net_payload_size, conn_stats, error_info)) {
+               pfc->data->uncompressed_data = mysqlnd_create_read_buffer(net_payload_size);
+               if (FAIL == vio->data->m.network_read(vio, pfc->data->uncompressed_data->data, net_payload_size, conn_stats, error_info)) {
                        retval = FAIL;
                        goto end;
                }
@@ -361,18 +361,18 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
        DBG_ENTER("mysqlnd_pfc::receive");
 #ifdef MYSQLND_COMPRESSION_ENABLED
        if (pfc->data->compressed) {
-               if (pfc->uncompressed_data) {
-                       size_t to_read_from_buffer = MIN(pfc->uncompressed_data->bytes_left(pfc->uncompressed_data), to_read);
+               if (pfc->data->uncompressed_data) {
+                       size_t to_read_from_buffer = MIN(pfc->data->uncompressed_data->bytes_left(pfc->data->uncompressed_data), to_read);
                        DBG_INF_FMT("reading "MYSQLND_SZ_T_SPEC" from uncompressed_data buffer", to_read_from_buffer);
                        if (to_read_from_buffer) {
-                               pfc->uncompressed_data->read(pfc->uncompressed_data, to_read_from_buffer, (zend_uchar *) p);
+                               pfc->data->uncompressed_data->read(pfc->data->uncompressed_data, to_read_from_buffer, (zend_uchar *) p);
                                p += to_read_from_buffer;
                                to_read -= to_read_from_buffer;
                        }
                        DBG_INF_FMT("left "MYSQLND_SZ_T_SPEC" to read", to_read);
-                       if (TRUE == pfc->uncompressed_data->is_empty(pfc->uncompressed_data)) {
+                       if (TRUE == pfc->data->uncompressed_data->is_empty(pfc->data->uncompressed_data)) {
                                /* Everything was consumed. This should never happen here, but for security */
-                               pfc->uncompressed_data->free_buffer(&pfc->uncompressed_data);
+                               pfc->data->uncompressed_data->free_buffer(&pfc->data->uncompressed_data);
                        }
                }
                if (to_read) {
@@ -385,15 +385,15 @@ MYSQLND_METHOD(mysqlnd_pfc, receive)(MYSQLND_PFC * const pfc, MYSQLND_VIO * cons
                        }
                        net_payload_size = uint3korr(net_header);
                        packet_no = uint1korr(net_header + 3);
-                       if (pfc->compressed_envelope_packet_no != packet_no) {
+                       if (pfc->data->compressed_envelope_packet_no != packet_no) {
                                DBG_ERR_FMT("Transport level: packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
-                                                       pfc->compressed_envelope_packet_no, packet_no, net_payload_size);
+                                                       pfc->data->compressed_envelope_packet_no, packet_no, net_payload_size);
 
                                php_error(E_WARNING, "Packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
-                                                 pfc->compressed_envelope_packet_no, packet_no, net_payload_size);
+                                                 pfc->data->compressed_envelope_packet_no, packet_no, net_payload_size);
                                DBG_RETURN(FAIL);
                        }
-                       pfc->compressed_envelope_packet_no++;
+                       pfc->data->compressed_envelope_packet_no++;
 #ifdef MYSQLND_DUMP_HEADER_N_BODY
                        DBG_INF_FMT("HEADER: hwd_packet_no=%u size=%3u", packet_no, (zend_ulong) net_payload_size);
 #endif
@@ -424,15 +424,15 @@ MYSQLND_METHOD(mysqlnd_pfc, set_client_option)(MYSQLND_PFC * const pfc, enum_mys
        DBG_INF_FMT("option=%u", option);
        switch (option) {
                case MYSQL_OPT_COMPRESS:
-                       pfc->data->options.flags |= MYSQLND_NET_FLAG_USE_COMPRESSION;
+                       pfc->data->flags |= MYSQLND_NET_FLAG_USE_COMPRESSION;
                        break;
                case MYSQL_SERVER_PUBLIC_KEY:
                        {
                                zend_bool pers = pfc->persistent;
-                               if (pfc->data->options.sha256_server_public_key) {
-                                       mnd_pefree(pfc->data->options.sha256_server_public_key, pers);
+                               if (pfc->data->sha256_server_public_key) {
+                                       mnd_pefree(pfc->data->sha256_server_public_key, pers);
                                }
-                               pfc->data->options.sha256_server_public_key = value? mnd_pestrdup(value, pers) : NULL;
+                               pfc->data->sha256_server_public_key = value? mnd_pestrdup(value, pers) : NULL;
                                break;
                        }
                default:
@@ -450,13 +450,13 @@ MYSQLND_METHOD(mysqlnd_pfc, free_contents)(MYSQLND_PFC * pfc)
        DBG_ENTER("mysqlnd_pfc::free_contents");
 
 #ifdef MYSQLND_COMPRESSION_ENABLED
-       if (pfc->uncompressed_data) {
-               pfc->uncompressed_data->free_buffer(&pfc->uncompressed_data);
+       if (pfc->data->uncompressed_data) {
+               pfc->data->uncompressed_data->free_buffer(&pfc->data->uncompressed_data);
        }
 #endif
-       if (pfc->data->options.sha256_server_public_key) {
-               mnd_pefree(pfc->data->options.sha256_server_public_key, pfc->persistent);
-               pfc->data->options.sha256_server_public_key = NULL;
+       if (pfc->data->sha256_server_public_key) {
+               mnd_pefree(pfc->data->sha256_server_public_key, pfc->persistent);
+               pfc->data->sha256_server_public_key = NULL;
        }
 
        DBG_VOID_RETURN;
@@ -518,7 +518,7 @@ mysqlnd_pfc_init(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO
 {
        MYSQLND_PFC * pfc;
        DBG_ENTER("mysqlnd_pfc_init");
-       pfc = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_net(persistent, stats, error_info);
+       pfc = MYSQLND_CLASS_METHOD_TABLE_NAME(mysqlnd_object_factory).get_protocol_frame_codec(persistent, stats, error_info);
        DBG_RETURN(pfc);
 }
 /* }}} */
index ba5a5258770edb7a08bc248f28edce407273293f..6e1dfa49a18b6380dd7515ab14d8807f8bc16b96 100644 (file)
@@ -233,14 +233,6 @@ typedef struct st_mysqlnd_session_options
 } MYSQLND_SESSION_OPTIONS;
 
 
-typedef struct st_mysqlnd_protocol_frame_codec_options
-{
-       uint64_t        flags;
-
-       char *          sha256_server_public_key;
-} MYSQLND_PFC_OPTIONS;
-
-
 typedef struct st_mysqlnd_vio_options
 {
        /* timeouts */
@@ -376,7 +368,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory);
 typedef MYSQLND * (*func_mysqlnd_object_factory__get_connection)(struct st_mysqlnd_object_factory_methods * factory, zend_bool persistent);
 typedef MYSQLND * (*func_mysqlnd_object_factory__clone_connection_object)(MYSQLND * conn);
 typedef MYSQLND_STMT * (*func_mysqlnd_object_factory__get_prepared_statement)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
-typedef MYSQLND_PFC * (*func_mysqlnd_object_factory__get_net)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
+typedef MYSQLND_PFC * (*func_mysqlnd_object_factory__get_pfc)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 typedef MYSQLND_VIO * (*func_mysqlnd_object_factory__get_vio)(zend_bool persistent, MYSQLND_STATS * stats, MYSQLND_ERROR_INFO * error_info);
 typedef MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY * (*func_mysqlnd_object_factory__get_protocol_payload_decoder_factory)(MYSQLND_CONN_DATA * conn, zend_bool persistent);
 
@@ -386,7 +378,7 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_object_factory)
        func_mysqlnd_object_factory__get_connection get_connection;
        func_mysqlnd_object_factory__clone_connection_object clone_connection_object;
        func_mysqlnd_object_factory__get_prepared_statement get_prepared_statement;
-       func_mysqlnd_object_factory__get_net get_net;
+       func_mysqlnd_object_factory__get_pfc get_protocol_frame_codec;
        func_mysqlnd_object_factory__get_vio get_vio;
        func_mysqlnd_object_factory__get_protocol_payload_decoder_factory get_protocol_payload_decoder_factory;
 };
@@ -1114,14 +1106,23 @@ MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec)
 
 struct st_mysqlnd_protocol_frame_codec_data
 {
-       php_stream                              *stream;
-       zend_bool                               compressed;
-       zend_bool                               ssl;
-       MYSQLND_PFC_OPTIONS     options;
+       php_stream              *stream;
+       zend_bool               compressed;
+       zend_bool               ssl;
+       uint64_t                flags;
+       char *                  sha256_server_public_key;
 
-       unsigned int            refcount;
+#ifdef MYSQLND_COMPRESSION_ENABLED
+       MYSQLND_READ_BUFFER     * uncompressed_data;
+#else
+       void *                          unused_pad1;
+#endif
 
-       zend_bool                       persistent;
+       /* sequence for simple checking of correct packets */
+       zend_uchar              packet_no;
+       zend_uchar              compressed_envelope_packet_no;
+
+       zend_bool               persistent;
 
        MYSQLND_CLASS_METHODS_TYPE(mysqlnd_protocol_packet_envelope_codec) m;
 };
@@ -1131,17 +1132,7 @@ struct st_mysqlnd_protocol_frame_codec
 {
        struct st_mysqlnd_protocol_frame_codec_data * data;
 
-#ifdef MYSQLND_COMPRESSION_ENABLED
-       MYSQLND_READ_BUFFER     * uncompressed_data;
-#else
-       void *                          unused_pad1;
-#endif
-
-       zend_bool persistent;
-
-       /* sequence for simple checking of correct packets */
-       zend_uchar                      packet_no;
-       zend_uchar                      compressed_envelope_packet_no;
+       zend_bool               persistent;
 };
 
 
@@ -1366,7 +1357,7 @@ typedef zend_uchar * (*func_auth_plugin__get_auth_data)(struct st_mysqlnd_authen
                                                                                                                MYSQLND_CONN_DATA * conn, const char * const user, const char * const passwd,
                                                                                                                const size_t passwd_len, zend_uchar * auth_plugin_data, size_t auth_plugin_data_len,
                                                                                                                const MYSQLND_SESSION_OPTIONS * const session_options,
-                                                                                                               const MYSQLND_PFC_OPTIONS * const pfc_options, zend_ulong mysql_flags
+                                                                                                               const MYSQLND_PFC_DATA * const pfc_data, zend_ulong mysql_flags
                                                                                                                );
 
 struct st_mysqlnd_authentication_plugin
index af0f01091f154534281c4af6890c3c7b5d686e58..204c8fbe7ffc56f928b2d5c21a9c2307cde44570 100644 (file)
@@ -265,21 +265,21 @@ mysqlnd_read_header(MYSQLND_PFC * pfc, MYSQLND_VIO * vio, MYSQLND_PACKET_HEADER
                                                        STAT_PROTOCOL_OVERHEAD_IN, MYSQLND_HEADER_SIZE,
                                                        STAT_PACKETS_RECEIVED, 1);
 
-       if (pfc->data->compressed || pfc->packet_no == header->packet_no) {
+       if (pfc->data->compressed || pfc->data->packet_no == header->packet_no) {
                /*
                  Have to increase the number, so we can send correct number back. It will
                  round at 255 as this is unsigned char. The server needs this for simple
                  flow control checking.
                */
-               pfc->packet_no++;
+               pfc->data->packet_no++;
                DBG_RETURN(PASS);
        }
 
        DBG_ERR_FMT("Logical link: packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
-                               pfc->packet_no, header->packet_no, header->size);
+                               pfc->data->packet_no, header->packet_no, header->size);
 
        php_error(E_WARNING, "Packets out of order. Expected %u received %u. Packet size="MYSQLND_SZ_T_SPEC,
-                         pfc->packet_no, header->packet_no, header->size);
+                         pfc->data->packet_no, header->packet_no, header->size);
        DBG_RETURN(FAIL);
 }
 /* }}} */