Commit graph

1400 commits

Author SHA1 Message Date
Andrey Hristov
a530ecff97 MNDR:
- better name for MYSQLND_PPEC - MYSQLND_PFC (protocol frame codec)
2015-11-12 16:19:16 +01:00
Andrey Hristov
654d1a7caf MNDR:
- rename MYSQLND_NET to MYSQLND_PPEC (protocol packet envelope codec).
  PPEC does only the encoding and decoding to the protocol frame.
2015-11-12 16:19:16 +01:00
Andrey Hristov
80d59a3a36 MNDR:
- intermediate step to move MYSQLND_NET from mysqlnd_vio.c to mysqlnd_wireprotocol.c
  In following commits MYSQLND_NET's methods and data will be moved to MYSQLND_PROTOCOL
2015-11-12 16:19:16 +01:00
Andrey Hristov
05c5e051be MNDR:
- moved networking code to mysqlnd_vio.c
2015-11-12 16:19:16 +01:00
Andrey Hristov
e9f3139f43 MNDR:
- split MYSQLND_NET into MYSQLND_NET and MYSQLND_VIO
  MYSQLND_NET is above MYSQLND_VIO. _NET takes care of protocol packet
  counting (even with compressed), while VIO is just about the network
  (or in case of windows, non-network, but PIPE) transport.
2015-11-12 16:19:16 +01:00
Andrey Hristov
a990573752 MNDR:
- some small renaming of methods
2015-11-12 16:19:16 +01:00
Andrey Hristov
0d3329fc93 MNDR:
- send_command and send_command_handle_response_* moved to a structure
2015-11-12 16:19:16 +01:00
Andrey Hristov
e81ecc80ca MNDR:
- Move transport string generation to own function, which can be overloaded or sniffed
2015-11-12 16:19:16 +01:00
Andrey Hristov
51085dac1a MNDR:
- remove double decrement
2015-11-12 16:19:16 +01:00
Andrey Hristov
b8b1d45c3c MNDR:
- move connection establishment code to own command - COM_HANDSHAKE
2015-11-12 16:19:16 +01:00
Andrey Hristov
e6419ab401 MNDR:
- convert the API of MYSQLND_NET to MYSQLND_STRING
2015-11-12 16:19:16 +01:00
Andrey Hristov
baab519ae5 MNDR:
- decouple the commands from the connection. CONN ist passed now only in 1 case
2015-11-12 16:19:16 +01:00
Andrey Hristov
5abee1948e MNDR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov
71e703761f MNDR:
- clean up some things
2015-11-12 16:19:16 +01:00
Andrey Hristov
e30e884e53 MNDR:
- move COM_INIT_DE result handling to the command
2015-11-12 16:19:16 +01:00
Andrey Hristov
fefc3045a3 MNDR:
- remove COM_FIELD_LIST
2015-11-12 16:19:16 +01:00
Andrey Hristov
75a1fcc724 MNDR:
- move handling of commands to the command itself
2015-11-12 16:19:16 +01:00
Andrey Hristov
7e6f9a84cb MNDR:
- split handle_response() into handle_OK and handle_EOF
2015-11-12 16:19:16 +01:00
Andrey Hristov
aa4966d4e3 MNDR:
- now send_command_handle_response() also doesn't depend directly on
  MYSQLND_CONN_DATA
2015-11-12 16:19:16 +01:00
Andrey Hristov
f7a445856d MNDR:
- pass connection closer and its context
- remove unused parameter
2015-11-12 16:19:16 +01:00
Andrey Hristov
280c834c49 MNDR:
- rename the macro for updating the connection state
2015-11-12 16:19:16 +01:00
Andrey Hristov
109dc08ffd MNDR:
- make the connection state a class
2015-11-12 16:19:16 +01:00
Andrey Hristov
78cb5456da MNDR:
- simplify the macroses for the types
2015-11-12 16:19:16 +01:00
Andrey Hristov
e9bccffe29 MNDR:
- switch to macro generation of structure names for the methods
2015-11-12 16:19:16 +01:00
Andrey Hristov
3eee292669 MNDR:
- Remove the SET_STMT_ERROR macro
2015-11-12 16:19:16 +01:00
Andrey Hristov
4bb784cd0d MNDR:
- make MYSQLND_ERROR_INFO a class
2015-11-12 16:19:16 +01:00
Andrey Hristov
fb1b5abe31 MNDR:
- switch to MYSQLND_CLASS_METHOD_TABLE_NAME_DECL() for automatic naming
  of class methods
2015-11-12 16:19:16 +01:00
Andrey Hristov
5609eabc6f MDNR:
- make MYSQLND_UPSERT_STATUS more like an object that a simple structure
  Still use macros to make updates simple
2015-11-12 16:19:16 +01:00
Andrey Hristov
092afe7212 MNDR:
- abstract SSL enabling into COM_ENABLE_SSL
2015-11-12 16:19:16 +01:00
Andrey Hristov
10d4fb8a94 MDNR:
- Refactor the command factory. Let the factory be exchangeable.
2015-11-12 16:19:16 +01:00
Andrey Hristov
e24dc94f32 MDNR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov
7d7ff67b82 MDNR:
- send_command() is no more, thus we need commands for all COM_STMT_*
  + CHANGE_USER
2015-11-12 16:19:16 +01:00
Andrey Hristov
f6ec3df895 MNDR:
- Switch for directly executing a command over the wire to creating a
  command object which is then executed.
2015-11-12 16:19:16 +01:00
Andrey Hristov
2a44cee4d5 MNDR:
- Remove unused variable
2015-11-12 16:19:16 +01:00
Andrey Hristov
c33d3b6e5b MDNR:
- remove dead code
2015-11-12 16:19:16 +01:00
Andrey Hristov
ab961ca347 MNDR:
- remove export of functions and have things exported thru an interface
  with default implementation
2015-11-12 16:19:16 +01:00
Andrey Hristov
784a371829 MNDR:
- Inject the object factory
2015-11-12 16:19:16 +01:00
Andrey Hristov
f16686faa7 MNDR:
- don't use the static function name but the hook
2015-11-12 16:19:16 +01:00
Andrey Hristov
19443351ed MNDR:
- remove static function and make it a method. The function doesn't need to
  be in mysqlnd_ps.c as it doesn't use any resources anymore from it (it used
  in the past)
2015-11-12 16:19:16 +01:00
Andrey Hristov
3f7a7837cd MDNR:
- cleanup after PHP7 changes (removal of TSRMLS_**)
2015-11-12 16:19:16 +01:00
Andrey Hristov
cfd868651a MDNR:
- removed init() method from mysqlnd_conn_data and moved the initialization
  to the object factory->get_connection(). Now it is unified as with the prepared
  statement which doesn't have any init() method
- the protocol decoder factory now takes connection as parameter at creation and
  thus there is no need to pass the connection as parameter when calling the read
  or the write method of a packet.
- saved the protocol payload decoder factory as pointer in every packet (read/write)
  so the connection doesn't need to be passed on every call of read/write (dependency
  has been already injected at creation). This will alow to move protocol specific
  code from MYSQLND_NET (send_ex()) to make MYSQLND_NET leaner and free from protocol
  stuff.
2015-11-12 16:19:16 +01:00
Andrey Hristov
75dc67c6ae MNDR:
- move macro to a function
2015-11-12 16:19:16 +01:00
Andrey Hristov
2ea4891e75 MNDR:
- rename mysqlnd_init to mysqlnd_connection_init
- rename mysqlnd_connect to mysqlnd_connection_connect
- created macros for BC
2015-11-12 16:19:16 +01:00
Andrey Hristov
34a33928d6 MNDR:
- Rename MYSQLND_PROTOCOL to MYSQLND_PROTOCOL_PAYLOAD_DECODER_FACTORY
- Rename other symbols related to MYSQLND_PROTOCOL accordingly
2015-11-12 16:19:16 +01:00
Andrey Hristov
4c83582c74 MNDR
- enum_mysqlnd_protocol_type -> enum_mysqlnd_session_protocol_type
2015-11-12 16:19:16 +01:00
Andrey Hristov
3091a01799 MNDR
- mysqlnd_option -> mysqlnd_client_option
2015-11-12 16:19:16 +01:00
Andrey Hristov
6051a47776 MNDR
- Rename simple_command* to send_command
2015-11-12 16:19:16 +01:00
Andrey Hristov
0f38d479e1 MNDR :
- Rename MYSQLND_OPTIONS to MYSQLND_SESSION_OPTIONS
- Rename MYSQLND_NET_OPTIONS to MYSQLND_IO_OPTIONS
2015-11-12 16:19:16 +01:00
Andrey Hristov
6d51b7b2e3 Another Fix for Bug #68344 MySQLi does not provide way to disable peer certificate validation
Added the possibility to explicitly state that the peer certificate should not be checked.
Back to the default - checking the certificate.
Exported MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT
Usage : mysqli_real_connect( , , , , , MYSQLI_CLIENT_SSL | MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT)

If mysqli_ssl_set() is not called, but only MYSQLI_CLIENT_SSL is passed, without the (don't) very flag,
then no verification takes place.
2015-10-27 12:59:09 +01:00
Dmitry Stogov
c67fc6bb09 Fixed memory leak in php_stream_context_set_option() 2015-10-29 20:06:55 +03:00