Felipe Pena
8775a37559
- Year++
2012-01-01 13:15:04 +00:00
Andrey Hristov
b9bb138017
Don't write more data than the protocol can grok or the server will
...
be confused. This comes without a test because the server needs to be
a non-community one with closed source PAM plugin loaded.
2011-11-30 17:20:25 +00:00
Andrey Hristov
6a9feb730f
Split struct MYSQLND in struct MYSQLND and struct MYSQLD_CONN_DATA.
...
A step in the direction of keeping internal data private
2011-10-31 11:46:24 +00:00
Andrey Hristov
845d8fa10c
Move from directly referencing an aggregated structure to using a
...
pointer to a structure. The structure is still aggregated but we add
a level of indirection for possible plugins to overwrite the storage
2011-10-25 23:01:49 +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
Johannes Schlüter
b83b4880d3
- Move the field access behind the check
...
# Only called from one place where the connection is checked, but
# playing safe, again (parfait)
2011-05-17 00:16:57 +00:00
Andrey Hristov
15fd9c4f58
remove unneeded includes
2011-03-22 12:22:16 +00:00
Andrey Hristov
3afdf62df0
throw out legacy code, that never was used for something
...
useful. Was added for QC but QC is now a plugin, not part of
the core.
2011-03-21 13:58:11 +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
Andrey Hristov
16c6ce94d2
Update on the mysqlnd auth plugins, changed the plugin
...
structure and where they load themselves.
0xFE packets (method switch) needs to be done, additional
wire-level packet to be created to be parsed and the packet
doesn't fit the PACKET_OK structure anymore.
2011-01-14 20:04:17 +00:00
Andrey Hristov
429e07bba2
grok the MySQL 5.5 extended handshake.
...
Move the authentication routines, the native ones, to
separate file and encapsulate them in a plugin.
Depending on the server version and what the server
requests (or doesn't in old versions) load the authentication
plugin to handle it.
Currently only the 4.1+ authentication is supported. More to come
2011-01-12 21:40:05 +00:00
Andrey Hristov
ddbbcdce49
Use common code to handle initial authentication and
...
COM_CHANGE_USER
2011-01-11 13:02:57 +00:00
Felipe Pena
0203cc3d44
- Year++
2011-01-01 02:17:06 +00:00
Andrey Hristov
bcb4c8427e
two new stats
2010-11-05 20:07:34 +00:00
Andrey Hristov
223832c501
rename parameter name - should not shadow the global symbol alloca
2010-10-05 17:20:00 +00:00
Andrey Hristov
a9da84800e
add some safe casts
2010-10-05 11:08:21 +00:00
Andrey Hristov
a3f2895e67
fix types
2010-10-05 08:56:21 +00:00
Andrey Hristov
026da7d4a0
fix two more warnings
2010-10-04 14:52:14 +00:00
Andrey Hristov
859a1404bf
WS fixes
2010-09-23 16:03:22 +00:00
Andrey Hristov
9da177f8d5
Allocate memory in a burst mode, and later use it. Increases
...
locality of the data.
Also use MYSQLND_INC_CONN_STATISTIC in one place, instead of
two, thus removing code duplication from macro expansion - less
code to fit in the instruction cache.
2010-08-12 13:23:16 +00:00
Andrey Hristov
c974313aed
Switch from using PHP_MAJOR_VERSION to separate define for
...
unicode. Unicode is no more, but these are "bookmarks" where
to change mysqlnd, if Unicode becomes trendy again.
2010-08-12 12:02:02 +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
523960892c
fix valgrind warnings on 64bit, thread_is is strictly 32bit
2010-06-21 14:49:45 +00:00
Andrey Hristov
d3d7447803
fix type mismatch, this is fresh misunderstanding
2010-06-18 11:56:25 +00:00
Andrey Hristov
59205a6655
split mysqlnd_connect() in two parts, one doing the authorization
2010-06-17 11:37:49 +00:00
Andrey Hristov
d02e785d68
Handle problems in the row_decoder, return type used to be void,
...
now it can return on problems.
2010-05-31 17:57:03 +00:00
Ulf Wendel
73a32c52d2
Updating test to reflect the latest and more verbose mysqlnd error messages, updating mysqlnd error message as well.
2010-05-31 13:56:42 +00:00
Andrey Hristov
decdfeeeb2
Access memory which was really allocated
2010-05-25 22:34:47 +00:00
Andrey Hristov
faf4659295
Export MYSQLND_PROTOCOL methods
2010-05-14 13:32:27 +00:00
Andrey Hristov
dd85f9c2f2
OOM fixes
2010-05-14 13:04:33 +00:00
Andrey Hristov
d53337bbe7
OOM stability fixes
2010-05-04 14:02:42 +00:00
Andrey Hristov
c32bae720c
Handle OOM in block_alloc_get_chunk, and also in the caller
...
in mysqlnd_wireprotocol.c
2010-05-03 16:20:46 +00:00
Andrey Hristov
ec0fe858c6
Remove unused parameter
2010-05-03 16:09:05 +00:00
Andrey Hristov
8e8348a4b0
Handle OOM when resizing blocks during data fetch
2010-05-03 14:16:04 +00:00
Andrey Hristov
6c1a2831f6
Fix crash if OOM and USE_ZEND_ALLOC=0
2010-04-29 11:49:08 +00:00
Andrey Hristov
6d88d1a75e
Fixed few buffer overflows reported by Stefan Esser.
2010-04-28 15:35:52 +00:00
Andrey Hristov
16d5d5966e
const-ify fields
2010-04-28 12:29:13 +00:00
Andrey Hristov
6dec27d58b
Hardening the reads of mysqlnd.
...
All packets but the row data packet are read into preallocated buffer,
either on the stack or on the heap (cmd_buffer). The size of the buffer
is always checked to skip buffer overruns. Only up to the size of the
buffer is stored into the buffer but packet->header.size has the size of
all data sent. In this case network layer bails.
This patch hardenes the reads, so if packets are malformed and shorter
than they should be there will be no further reads in the buffer.
In short, detection of malformed packets.
2010-04-20 20:02:32 +00:00
Andrey Hristov
f2d23c7f37
put the trigger in the right place
2010-04-20 19:09:56 +00:00
Andrey Hristov
eda9959e36
It is possible that change user tries an user who has old password.
...
Instead of error message that doesn't say much there is more information now.
2010-04-20 18:04:24 +00:00
Felipe Pena
6d951e2ded
- Fix copyrights
2010-04-20 13:50:34 +00:00
Andrey Hristov
fb76a3f2db
Last batch of int/uint comparison fixes
2010-04-15 15:58:26 +00:00
Andrey Hristov
7f43fc3b02
More int/uint comparison warning fixes
2010-04-15 15:53:58 +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
c0531d8db0
Fixint INT_AND_FLOAT_AS native. It was working ok on 64bit but
...
because on 32bit SIZEOF_LONG is 4 and INT64 from MySQL is 8 everything
was converted to string, even if it was able to put it in a long.
This closes Request #50651 Native type cast returns wrong result
2010-04-08 13:20:37 +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
4870cac70e
Make it coupled - what is allocated with mnd_ should be freed
...
with mnd_ and vice versa.
Added mnd_pestrndup and mnd_pestrdup, which wrap the normal
calls to be able to track this calls.
Fixed some failing tests.
2010-03-29 17:04:16 +00:00