Commit Graph

44 Commits

Author SHA1 Message Date
andrey
174bf906f8 refactor MYSQLND_NET, split it two parts for easy resharing 2012-04-30 17:01:56 +02:00
Felipe Pena
8775a37559 - Year++ 2012-01-01 13:15:04 +00:00
Andrey Hristov
374018803a move plugin specific stuff to one file. create object factory
for similar objects
2011-10-24 12:34:44 +00:00
Andrey Hristov
139813877c shift code around to two new files - mysqlnd_driver.c
and mysqlnd_ext_plugin.c (mysqlnd extension plugin)
2011-10-21 15:28:58 +00:00
Andrey Hristov
a498bc62b8 MYSQLND_NET refactored not to use any direct reference to MYSQLND (the connection)
QC will need an ifdef-layer to compile with this
2011-10-10 20:49:28 +00:00
Andrey Hristov
5f6020bc4d try not to crash when closing persistent sockets, because EG(persistent_list)
is cleaned before the extensions' MSHUTDOWNs are called.
2011-10-06 00:45:58 +00:00
Andrey Hristov
604fa1537a Fix valgrind error (sending of initialized bytes over the network).
When the compression was successful the compressed data + uninitialized data
at the end was sent to the server, because the length of the compressed payload
wasn't correctly calculated (actually the length of the uncompressed payload as assumed).
However, the uncompress() function has internally the length of the real payload and skips
the binary trash at the end - thus no data damage occurs!
2011-08-31 18:18:23 +00:00
Andrey Hristov
9baee85844 Fix Bug #55473 mysql_pconnect leaks file descriptors on reconnect
The fix is for now in 5_4 and trunk, to be merged into 5_3 after 5.3.8
is packaged (expected today). The test case goes to all branches
2011-08-22 10:42:43 +00:00
Johannes Schlüter
898e3095f1 - Move the access behind the check.
# I can't find an unsafe call, but let's play safe
2011-05-16 10:15:28 +00:00
Andrey Hristov
15fd9c4f58 remove unneeded includes 2011-03-22 12:22:16 +00:00
Andrey Hristov
f06443593e add a proxy for sppintf and vspprintf 2011-03-18 14:56:20 +00:00
Andrey Hristov
ca5df2a8bb less trace info 2011-03-18 12:33:17 +00:00
Andrey Hristov
ce4e6f4db5 Handle MySQL 5.5 authentication features.
Authentication protocol can be changed, a new raw
packet is introduced, which includes only the "encrypted"
data for the auth plugin, sent after change protocol (0xFE)
is sent to the client.
2011-01-24 12:34:47 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Andrey Hristov
69894eaf80 count preciser in case of error 2010-12-15 14:14:58 +00:00
Andrey Hristov
d4b1c1ec78 fix recent TSRM build break, with --enable-debug 2010-10-05 08:17:33 +00:00
Kalle Sommer Nielsen
304bc60e98 We do not need this TSRMLS_FETCH() call as we do not use any TSRM stuff in here, so we can get
a minor boost here in ZTS mode.
2010-10-04 21:04:25 +00:00
Andrey Hristov
4c26112c88 Fix for
Request #48082 mysql_connect does not work with named pipes
2010-09-22 15:14:04 +00:00
Pierre Joye
ed58636f00 - use TSRMLS_D/C with php_stream_context_alloc 2010-09-16 09:33:42 +00:00
Andrey Hristov
b2bcf3ae48 OPT_COMPRESS support for mysqlnd_conn::set_client_option
To be used by mysqli_options
2010-09-01 14:47:36 +00:00
Andrey Hristov
7043949c89 Fix for Bug #51583 Bus error due to wrong alignment in mysqlnd 2010-07-15 16:57:14 +00:00
Andrey Hristov
baf72b7336 Fix sprintf modifiers all around the place. In most cases
%u should be used. Where size_t is used then MYSQLND_SZ_T_SPEC should be
the modifier
2010-06-21 15:32:26 +00:00
Andrey Hristov
d3d7447803 fix type mismatch, this is fresh misunderstanding 2010-06-18 11:56:25 +00:00
Andrey Hristov
b434301f7b Use only memory that has been allocated 2010-05-25 22:36:33 +00:00
Andrey Hristov
dd85f9c2f2 OOM fixes 2010-05-14 13:04:33 +00:00
Andrey Hristov
fccec600eb Export the methods of MYSQLND_NET 2010-05-13 14:15:23 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +00:00
Felipe Pena
6d951e2ded - Fix copyrights 2010-04-20 13:50:34 +00:00
Andrey Hristov
a9880e78c6 CS + WS changes 2010-04-15 12:55:04 +00:00
Andrey Hristov
c04f752625 Fix for bug#49234 method not found ssl_set
Patch was tested and compiles on Windows. (Thanks Kalle)
2010-04-15 11:01:30 +00:00
Andrey Hristov
92698a331f Fix the Windows build (void* arithmetic) as well as --disable-zlib
build.
2010-04-06 18:14:23 +00:00
Andrey Hristov
d339672e45 Fix inconsistencies
- memory allocated with spprintf, or likes, outside of mysqlnd's
allocator functions should not be freed by the mysqlnd's allocator
(a wrapper around emalloc/malloc).
- memory allocated by the mysqlnd's allocator should only be freed
  by it.
- add a mode to track memory usage (malloc/free)
2010-04-01 13:26:41 +00:00
Andrey Hristov
ffb8df30ab Better fix for bug #51347 mysqli_close / connection memory leak 2010-04-01 12:46:21 +00:00
Andrey Hristov
4735c71283 Fixed bug #51347 mysqli_close / connection memory leak
Streams API registers every stream as resource, which lands then
in EG(regular_list), however doesn't clean that when the stream is
closed. At the end this is a para-leak. At the end of the script
all memory is cleaned, however this is a problem for long runnig
scripts that open connections. For every opened and closed connection
about 150 Bytes on 32bit and 250 Bytes on 64bit will be "lost",
according to memory_get_usage().
2010-04-01 11:50:24 +00:00
Andrey Hristov
ff62fea3b2 Fix compiler warning, copy&paste error 2010-01-14 12:31:29 +00:00
Andrey Hristov
b1ac377163 export some calls to init/deinit code outside of the module 2010-01-08 18:52:08 +00:00
Andrey Hristov
a98a67940a improve the stats subsystem. Reduce the number of macro definitions
in half by smartly introducing 2 new macros. Make MYSQLND::stats a pointer
from being aggregated and add triggers.
2010-01-08 17:35:20 +00:00
Andrey Hristov
fcef58951b add restart_psession and end_psession hooks 2010-01-08 13:47:03 +00:00
Andrey Hristov
81b0630f5a Change of way the packet objects are created/initialised
If the protocol gets changed, ever, we can decide at runtime
easily which protocol to use by instantiating the right protocol
object. But this is restricted to the structure of the packets, not
the flow.
2010-01-07 19:44:59 +00:00
Andrey Hristov
a3e5d1852a Move this function to MYSQLND_NET as it works on the
php stream
2009-12-21 16:52:10 +00:00
Andrey Hristov
c9c418b971 Move compression and decompression code to separate functions
which can be overloaded on purpose.
2009-12-21 16:09:13 +00:00
Andrey Hristov
f8dcfbc74f refactoring : move more network related functions to
mysqlnd_net.c . Now communication is split on two levels:
- logical (functions send and receive)
- physical (functions network_read and network_write)
2009-12-17 13:29:46 +00:00
Andrey Hristov
e0441d594e call free_contents in every case, in case something is not freed
by the calling code
2009-12-16 14:38:30 +00:00
Andrey Hristov
9f21c91a08 move MYSQLND_NET code to a separate file.
mysqlnd_wireprotocol is about the protocol not the transport
layer
2009-12-16 12:59:38 +00:00