andrey
c75cbd62dd
these methods should return a stream. This makes it easier to intercept
...
the return value
2012-05-07 15:32:00 +02:00
andrey
ec159081a0
reorganize things a bit...just shifting code
2012-05-07 13:31:42 +02:00
andrey
174bf906f8
refactor MYSQLND_NET, split it two parts for easy resharing
2012-04-30 17:01:56 +02:00
Felipe Pena
e4ca0ed09f
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281
- Year++
2012-01-01 13:15:04 +00:00
Andrey Hristov
4321da0388
move plugin specific stuff to one file. create object factory
...
for similar objects
2011-10-24 12:34:44 +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
652490d43a
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
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
b5f5770399
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
c3019a16d5
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
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
fa8a1c387a
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
12a4dcf5dc
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
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
Xinchen Hui
344136e8e9
Apply r315270 to 5.3
...
Fixed test script failed when host mysql doesn't listen on 3306
Fxied test script failed due to mysql_pconnect trigger a warning
2011-08-24 08:00: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
Andrey Hristov
0aa6354a2d
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
9e5bc2c138
- 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
Johannes Schlüter
8ab4c89d0b
- 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
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
9484248c0a
remove unneeded includes
2011-03-22 12:22:16 +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
927bf09c29
- Year++
2011-01-01 02:19:59 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Andrey Hristov
f35b89c7c4
count preciser in case of error
2010-12-15 14:14:58 +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
Andrey Hristov
4c88033aa2
fix recent TSRM build break, with --enable-debug
2010-10-05 08:17:33 +00:00
Kalle Sommer Nielsen
54624f9902
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
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
8220c2e4ce
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
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
a30113b617
Fix for Bug #51583 Bus error due to wrong alignment in mysqlnd
2010-07-15 16:57:14 +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
53324e8830
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
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
7f79e86886
fix type mismatch, this is fresh misunderstanding
2010-06-18 11:56:25 +00:00
Andrey Hristov
d3d7447803
fix type mismatch, this is fresh misunderstanding
2010-06-18 11:56:25 +00:00
Andrey Hristov
c389adb96a
Use only memory that has been allocated
2010-05-25 22:36:33 +00:00
Andrey Hristov
b434301f7b
Use only memory that has been allocated
2010-05-25 22:36:33 +00:00
Andrey Hristov
ce0ea97850
OOM fixes
2010-05-14 13:04:33 +00:00
Andrey Hristov
dd85f9c2f2
OOM fixes
2010-05-14 13:04:33 +00:00
Andrey Hristov
90f16527af
Export the methods of MYSQLND_NET
2010-05-13 14:15:23 +00:00
Andrey Hristov
fccec600eb
Export the methods of MYSQLND_NET
2010-05-13 14:15:23 +00:00
Kalle Sommer Nielsen
cb30330800
Merge safe_mode changes into extensions that are in sync in both branches
2010-04-26 23:55:03 +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
a175419f84
- Fix copyrights
2010-04-20 13:50:34 +00:00
Felipe Pena
6d951e2ded
- Fix copyrights
2010-04-20 13:50:34 +00:00
Andrey Hristov
6aa682f564
CS + WS changes
2010-04-15 12:55:04 +00:00
Andrey Hristov
a9880e78c6
CS + WS changes
2010-04-15 12:55:04 +00:00
Andrey Hristov
dd9fc198ce
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
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
798103d4e0
Fix the Windows build (void* arithmetic) as well as --disable-zlib
...
build.
2010-04-06 18:14:23 +00:00
Andrey Hristov
aa8f43fad9
Recommit with an Windows build fix:
...
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-06 13:28:23 +00:00
Pierre Joye
96e2651fa2
- revert revision 297277, break the builds (declaration must go 1st, size of void * and other known situations). Also Johannes, can you check that commit pls? Thought we were in bugs fixing only for 5.3
2010-04-01 20:21:50 +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
f534df710e
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
a712d9cefb
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
311ab2c822
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
beaa4d0430
Fix compiler warning, copy&paste error
2010-01-14 12:31:29 +00:00
Andrey Hristov
ff62fea3b2
Fix compiler warning, copy&paste error
2010-01-14 12:31:29 +00:00
Andrey Hristov
81695689b9
export some calls to init/deinit code outside of the module
2010-01-08 18:52:08 +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
d20fdd603b
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
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
3264e51983
add restart_psession and end_psession hooks
2010-01-08 13:47:03 +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
73b23fca37
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
41ac91aecf
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
b4477669b4
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
028bd4ba02
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
d233b0b2af
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
b3546d1b5e
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
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