Commit Graph

407 Commits

Author SHA1 Message Date
Andrey Hristov
2e3e86b996 clear error before doing anything, because we can get
trapped by previous error :
php -r '$link = mysqli_init();
var_dump($link->real_connect("127.0.0.1", "unknown", "unknown"));
var_dump($link->real_connect("127.0.0.1", "known", "password"));'

shows the problem. The second connect did not work, as it should be.
2011-01-28 17:33:14 +00:00
Andrey Hristov
c2887dd8f5 a better habitat 2011-01-27 18:51:12 +00:00
Andrey Hristov
942ea00eea fix a crash in new code 2011-01-27 17:30:29 +00:00
Andrey Hristov
2cdc51e580 fix typos 2011-01-24 13:59:28 +00:00
Andrey Hristov
4439bde560 small cleanups 2011-01-24 13:58:18 +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
87a2104c1a fix ZTS build 2011-01-19 17:51:02 +00:00
Pierre Joye
0c665f0996 - fix the fix (wrong test) 2011-01-18 10:29:26 +00:00
Pierre Joye
a1b2df31d6 - don't try to access if calloc fails (quick review of its usage: seems that the stats member is validated in other places, to be confirmed) 2011-01-17 14:07:40 +00:00
Pierre Joye
59dc221530 - fix NULL derefencing 2011-01-17 14:01:01 +00:00
Kalle Sommer Nielsen
2d9325ec2c Fix mysqlnd build 2011-01-16 15:44:48 +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
5ca5c2bf43 Change things to allow passing of the password length
to mysqlnd. This is needed as a password might include
a \0 and thus we need to be binary safe.
2011-01-14 13:00:42 +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
Andrey Hristov
00eaff1528 plug a leak 2011-01-10 15:28:52 +00:00
Andrey Hristov
61d49db1f3 new flag 2011-01-10 15:14:56 +00:00
Andrey Hristov
5549e066f2 Proper fix for
Bug #53503      mysqli::query returns false after successful LOAD DATA query
which fixes als #56349, same behavior but in ext/mysql. Both due to a bug
in mysqlnd. Never was a problem with libmysql.
Also fixed the 53503's test case as it always reported PASS, even when there
should have been a failure.
2011-01-07 14:22:30 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Andrey Hristov
d8774af125 C89 fix 2010-12-28 16:41:39 +00:00
Andrey Hristov
cfac5f5b67 extending the API interface - plugins can register
themselves with a structure and can be searched.
Every plugin can have statistics and they are shown
under the statistics of mysqlnd in MINFO.
2010-12-28 15:16:21 +00:00
Andrey Hristov
b51abfb35f fix a small bug about affected_rows in the text protocol 2010-12-16 12:56:19 +00:00
Andrey Hristov
47bb667a64 Fix sprintf modifier to be right, wrong data reported in the log 2010-12-16 12:18:54 +00:00
Andrey Hristov
69894eaf80 count preciser in case of error 2010-12-15 14:14:58 +00:00
Pierre Joye
a7ffa09e18 - add PHP_INSTALL_HEADERS to all parts (core&exts) exposing headers, generate the install-headers cmd 2010-12-11 22:18:10 +00:00
Andrey Hristov
27ecaa7901 Skip additional result sets sent by MySQL 5.5 servers
which break the Protocol API 
(see http://bugs.mysql.com/bug.php?id=58700)
2010-12-06 13:59:14 +00:00
Andrey Hristov
e183ea0495 don't crash if the API is used incorrectly 2010-12-06 13:50:51 +00:00
Andrey Hristov
ee15ed307e new server constant as of 5.5 2010-12-02 13:59:56 +00:00
Pierre Joye
87fd3737b4 -fix build 2010-11-15 23:53:13 +00:00
Andrey Hristov
bcb4c8427e two new stats 2010-11-05 20:07:34 +00:00
Andrey Hristov
769a3cf0c3 - More features for the profiling, create aggregates and dump them
on file close.
- Also add a trace modifier to switch on and off the profiling.
- With additional compiler switch the profiling can be completely omitted,
of course it makes sense only when --enable-debug. Because otherwise
there is no tracing, thus no profiling.
- Added a fix for Windows for handling trace files on different devices
 (special handing of ':' )
2010-10-29 15:02:39 +00:00
Andrey Hristov
da633ed52e gettimeofday for windows 2010-10-28 14:14:06 +00:00
Andrey Hristov
9920be1a81 show tracing 2010-10-28 14:07:36 +00:00
Andrey Hristov
099a505f89 fix windows debug build
better zlib detection
2010-10-28 13:46:54 +00:00
Andrey Hristov
e70b2fcda4 rename and remove usage of inttypes.h, not needed 2010-10-25 13:44:11 +00:00
Andrey Hristov
fe719c5e42 profiling in trace mode 2010-10-22 15:46:26 +00:00
Andrey Hristov
a25ce8c606 last piece to enable trace logging on windows 2010-10-22 14:34:33 +00:00
Andrey Hristov
76783dfeb5 enable debug logging on windows, in debug builds, of course 2010-10-22 14:12:45 +00:00
Andrey Hristov
74ec58a045 new collations 2010-10-08 09:15:31 +00:00
Andrey Hristov
0e519d247e fix some uninitialized variables. also fix shadowing of global symbols 2010-10-07 13:49:00 +00:00
Andrey Hristov
1f9cf93cac Fix for Bug #52686 mysql_stmt_attr_[gs]et arg. points to incorrect type 2010-10-06 11:11:02 +00:00
Andrey Hristov
63d6892b56 more variable hiding fixes 2010-10-06 07:09:37 +00:00
Andrey Hristov
b373ccd6fc fix shadowing of parameters 2010-10-06 06:08:55 +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
c7a09c682d two more compiler warnings fixed - size does matter 2010-10-05 17:10:47 +00:00
Andrey Hristov
396402fc97 Rename a method so it doesn't clash with a global symbol - a function
Fix compiler waring by extening the type of a variable
2010-10-05 17:03:50 +00:00
Andrey Hristov
de69927b8e Fix compiler warnings - on 32bit size_t is smaller than uint64_t, although
we will never hit this the compiler should be happy.
2010-10-05 16:54:14 +00:00
Andrey Hristov
60bfedb1e6 rename parameter, should not conflict with global symbol -
the socket function
2010-10-05 16:27:49 +00:00
Andrey Hristov
07c08c1c93 remove trailing commas in enums 2010-10-05 14:56:49 +00:00
Andrey Hristov
a9da84800e add some safe casts 2010-10-05 11:08:21 +00:00