Commit Graph

927 Commits

Author SHA1 Message Date
Andrey Hristov
9acc2367b1 Merge branch 'PHP-5.4' 2012-10-31 19:04:10 +01:00
Andrey Hristov
965bd32fec Merge branch 'PHP-5.3' into PHP-5.4 2012-10-31 18:29:31 +01:00
Andrey Hristov
a17559d422 read 1 instead of 2 bytes. The next 2 bytes are 2 and thus not a problem 2012-10-31 18:26:09 +01:00
Andrey Hristov
a0a34f5bca plug recent leak 2012-10-31 16:13:00 +01:00
Andrey Hristov
d62bc53a4f cosmetics 2012-10-31 15:54:45 +01:00
Andrey Hristov
27e0999843 fix crashes in newly introduced macros when normal trace is disabled but
memory traced is enabled.
2012-10-22 14:35:35 +02:00
Andrey Hristov
b0e8fb6489 fix newly introduced segfault 2012-10-16 15:06:02 +02:00
Andrey Hristov
225792c5db constify 2012-10-12 10:20:09 +02:00
Andrey Hristov
4c9e222f99 if ssl has been switched on transmit clear-text password 2012-10-03 14:02:33 +02:00
Andrey Hristov
c540fe2064 fix login failure with empty password. This is 5.5 specific - new code 2012-09-28 11:58:41 +02:00
andrey
da96aa848f compile out example plugin in a release build 2012-09-26 17:13:46 +02:00
andrey
263b37bee1 change public key setting to PERDIR and finish code that allows
to set the key file programatically per mysqli_options()
2012-09-25 18:26:02 +02:00
andrey
6074df91c6 remove old unicode code, that is was compiled out by using a macro 2012-09-25 16:36:21 +02:00
andrey
571b46bff6 Add SHA256 authentication support - password hashing to mysqlnd
Automatic switchover to SSL with plain-text password is not part of this
2012-09-25 14:04:36 +02:00
andrey
815874c646 plug a leak when the server ask the client for a auth protocol, that
the client doesn't understand. This is 5.5 specific bug, as a result
of a refactoring in 5.5
2012-08-22 20:04:42 +02:00
andrey
79c6c93e0d Fix crashes with filenames that don't contain directory separator - generated
files like scanners/parsers.
2012-07-30 21:50:13 +03:00
Xinchen Hui
f13288de96 Merge branch 'PHP-5.4'
* PHP-5.4:
  Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode)
2012-07-18 19:06:58 +08:00
Xinchen Hui
25be12a3bc Fixed bug #62594 (segfault in mysqlnd_res_meta::set_mode) 2012-07-18 19:06:27 +08:00
Anatoliy Belsky
6071bfb325 fix windows build
- there should be no trailing white spaces after \ in multiline macros
2012-07-11 13:32:19 +02:00
andrey
049abdfb26 fix valgrind warning 2012-07-09 18:13:35 +03:00
andrey
66e1ac23c1 Merge branch 'PHP-5.4' of ssh://git.php.net/php-src into PHP-5.4 2012-07-09 17:59:42 +03:00
andrey
555db7dc4e fix valgrind warning 2012-07-09 17:59:23 +03:00
Stanislav Malyshev
a3322f8927 Merge branch 'PHP-5.4'
* PHP-5.4:
  Fixed the common misspelling of the word occurred (occured -> occurred)
2012-06-30 17:00:25 -07:00
Marc Easen
896ac689c9 Fixed the common misspelling of the word occurred (occured -> occurred) 2012-06-30 16:54:03 -07:00
andrey
c51fbbe4b4 merge 2012-06-29 16:58:53 +03:00
andrey
ed1f058591 merge 2012-06-29 16:32:55 +03:00
andrey
b7dbcbd41f Merge branch 'PHP-5.3' into PHP-5.4 2012-06-29 14:48:37 +03:00
andrey
8fe87e7fea fix Bug #62273 Segmentation Fault in Mysqli/Mysqlnd 2012-06-29 14:42:36 +03:00
andrey
0620ad2031 Merge branch 'PHP-5.4' 2012-06-29 12:43:41 +03:00
andrey
08f4b3c3ac Merge branch 'PHP-5.3' into PHP-5.4 2012-06-29 12:43:14 +03:00
andrey
f826ea093f new charsets 2012-06-29 12:42:54 +03:00
andrey
6e648e9340 trace allocations in a file 2012-06-27 16:51:07 +03:00
Johannes Schlüter
d6e421f6a6 Pass orig filename and line through to emalloc and friends 2012-06-26 12:33:36 +02:00
Anatoliy Belsky
40af974c73 fix windows build 2012-06-20 15:02:49 +02:00
andrey
2c230fb574 close the underlying stream as early as possible and so notify the
NET layer
2012-06-01 22:12:08 +03:00
andrey
f96d19fa70 close the stream whenever possible, no need to keep it open altough the
connection is marked as unusable
2012-06-01 11:22:19 +03:00
andrey
0d1bc3e8e5 more refactoring stuff. Reduced code duplication in the authentication
code
2012-05-31 15:46:26 +03:00
andrey
5a2578a333 small refactoring - factour out code from connection establishment.
Add a define for the default authentication protocol - get away from
the hardcoded magic value
2012-05-30 15:24:17 +03:00
andrey
dec56ca1e3 Merge branch 'PHP-5.4' 2012-05-16 16:00:17 +02:00
andrey
4d2d8e8717 Merge branch 'PHP-5.3' into PHP-5.4
Conflicts:
	ext/mysqlnd/mysqlnd_ps.c

merge fix for bug#62046
2012-05-16 15:59:39 +02:00
andrey
d4afbd487a Fix for bug#62046
Bug#62046 mysqli@mysqlnd can't iterate over stored sets after call to
mysqli_stmt_reset().

Stmt's state was changed to STMT_PREPARED and leads the driver to think
that the stmt was just prepared. Because result set exist also for only
prepared but not executed sets, the check for stmt->result isn't any good.
There is a result set, because as response for COM_PREPARE the server sends
metadata and metadata is part of a result set. After COM_EXECUTE the server
sends metadata again, which could be different and in this case more correct.
2012-05-16 14:28:55 +02:00
Johannes Schlüter
544c6f2f22 Merge branch 'PHP-5.4'
* PHP-5.4:
  Fix #61704 (Crash apache, phpinfo() threading issue)
  Fix folding marks
2012-05-08 17:30:46 +02:00
Johannes Schlüter
e8e661128a Fix #61704 (Crash apache, phpinfo() threading issue) 2012-05-08 17:30:05 +02:00
Johannes Schlüter
fb3b6bcf83 Fix folding marks 2012-05-08 15:18:33 +02:00
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
68536a4167 comment for the #else 2012-05-07 13:55:40 +02:00
andrey
ec159081a0 reorganize things a bit...just shifting code 2012-05-07 13:31:42 +02:00
andrey
267f691a45 bump mysqlnd versions 2012-05-03 15:33:47 +02:00
andrey
cd9e4d1def Merge branch 'PHP-5.4' 2012-05-02 16:15:35 +02:00
andrey
67419499b2 Merge branch 'PHP-5.3' into PHP-5.4 2012-05-02 15:57:08 +02:00
andrey
b42d000471 Fix for bug#61411
Bug #61411 PDO Segfaults with PERSISTENT == TRUE && EMULATE_PREPARES == FALSE
Wrong allocation, that doesn't follow the scheme of using stmt->persistent
was the root cause of the problem and the crash at free.
2012-05-02 15:55:22 +02:00
andrey
174bf906f8 refactor MYSQLND_NET, split it two parts for easy resharing 2012-04-30 17:01:56 +02:00
Johannes Schlüter
ca7b122c8c Merge branch 'PHP-5.4'
* PHP-5.4:
  Fix folding
2012-04-22 02:25:36 +02:00
Johannes Schlüter
bb2f806534 Fix folding 2012-04-22 02:25:02 +02:00
David Soria Parra
6e7284fb5b Merge branch 'PHP-5.4'
* PHP-5.4:
  Replace $Revision$ with $Id$ in keyword expansion enable files
  Enable $Id$ expansion for files with the $Revision$ keyword

Conflicts:
	ext/mysqlnd/mysqlnd.h
2012-03-20 17:59:33 +01:00
David Soria Parra
c918ca57a7 Merge branch 'PHP-5.3' into PHP-5.4
* PHP-5.3:
  Replace $Revision$ with $Id$ in keyword expansion enable files
  Enable $Id$ expansion for files with the $Revision$ keyword

Conflicts:
	ext/mysqlnd/mysqlnd.h
2012-03-20 17:58:58 +01:00
David Soria Parra
f7b10abae9 Replace $Revision$ with $Id$ in keyword expansion enable files 2012-03-20 17:53:47 +01:00
Johannes Schlüter
4c4a33e706 Fix bug #60948 mysqlnd FTBFS when -Wformat-security is enabled
# 5.3 not affected
2012-03-05 23:55:12 +00:00
Johannes Schlüter
5cea216900 Fix bug #60948 mysqlnd FTBFS when -Wformat-security is enabled
# 5.3 not affected
2012-03-05 23:55:12 +00:00
Stanislav Malyshev
f43330a371 remove -dev for release 2012-02-28 18:43:44 +00:00
Andrey Hristov
7153f7f887 assert 2012-02-02 15:00:42 +00:00
Andrey Hristov
da0da10bc9 assert 2012-02-02 15:00:42 +00:00
Andrey Hristov
d54bdbbbe4 assert 2012-02-02 15:00:42 +00:00
Christopher Jones
f115235a6e Fix configuration message typo and alignment (5.4 merge approved by Stas) 2012-01-12 23:23:05 +00:00
Christopher Jones
6d75ac3df9 Fix configuration message typo and alignment (5.4 merge approved by Stas) 2012-01-12 23:23:05 +00:00
Christopher Jones
dd9ce389c2 Fix configuration message typo and alignment (5.4 merge approved by Stas) 2012-01-12 23:23:05 +00: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
8b64eaf6c8 add some PHPAPI 2011-12-14 16:28:13 +00:00
Andrey Hristov
0905ff2fe5 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
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
842b7d6840 use the method in all builds. Thus it can be used for detection
of state transitioning in every case
2011-11-22 16:38:06 +00:00
Andrey Hristov
692e7f2bd9 use the method in all builds. Thus it can be used for detection
of state transitioning in every case
2011-11-22 16:38:06 +00:00
Andrey Hristov
0e31a00117 use the method in all builds. Thus it can be used for detection
of state transitioning in every case
2011-11-22 16:38:06 +00:00
Andrey Hristov
de50e98a07 Add a middleman which can intercept the calls and can reroute them 2011-11-02 17:06:30 +00:00
Andrey Hristov
a330739594 Add a middleman which can intercept the calls and can reroute them 2011-11-02 17:06:30 +00:00
Andrey Hristov
2627fafcbd - shift a bit of code around
- when cloning use the methods of the original object
2011-11-02 15:08:01 +00:00
Andrey Hristov
29f88a003f - shift a bit of code around
- when cloning use the methods of the original object
2011-11-02 15:08:01 +00:00
Andrey Hristov
989f2fbc14 fix trace log messages 2011-11-02 14:20:35 +00:00
Andrey Hristov
4f7dc4d283 fix trace log messages 2011-11-02 14:20:35 +00:00
Andrey Hristov
ba1f65faa1 Now really split the method tables and have different
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.
2011-10-31 14:33:56 +00:00
Andrey Hristov
92ec40d8e4 Now really split the method tables and have different
methods for the handle and the data object.
Add auxiliary functions to work with the new methods.
Add possibility to clone a connection object - shadow copy.
2011-10-31 14:33:56 +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
8fb6bdd5b8 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
7edb8a69b6 Bump internal version id after recent changes 2011-10-26 09:00:32 +00:00
Andrey Hristov
cae81edb0c Bump internal version id after recent changes 2011-10-26 09:00:32 +00:00
Andrey Hristov
f926a3c07d 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
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
3295415cce Add hooks for __call like functionality and also allow to
handle calls that spread over two internal functions. Let's call it
a local TX.
2011-10-25 19:04:36 +00:00
Andrey Hristov
13bc754db7 Add hooks for __call like functionality and also allow to
handle calls that spread over two internal functions. Let's call it
a local TX.
2011-10-25 19:04:36 +00:00
Andrey Hristov
4cda1b4086 remove duplicate, happened after double patching 2011-10-24 12:54: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
e111b23dd7 fix the build 2011-10-21 15:36:36 +00:00
Andrey Hristov
7472c081b7 add files that weren't committed with the previous commit 2011-10-21 15:29:43 +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
10e4419231 api_ext to reverse_api 2011-10-19 15:04:12 +00:00
Andrey Hristov
efb68d9399 api_ext to reverse_api 2011-10-19 15:04:12 +00:00
Rui Hirokawa
41ddca803d fixed maximum byte length of utf8mb4. 2011-10-18 14:28:21 +00:00
Rui Hirokawa
e3c13d7961 fixed maximum byte length of utf8mb4. 2011-10-18 14:28:01 +00:00
Andrey Hristov
5117bf657e move change_user closer to connect 2011-10-18 14:10:44 +00:00
Andrey Hristov
1619ebbec6 this should be decided by configure 2011-10-14 14:12:16 +00:00
Andrey Hristov
badb5f2610 export this existing function 2011-10-12 16:18:02 +00:00
Andrey Hristov
bbf59ae4da export this existing function 2011-10-12 16:18:02 +00:00
Andrey Hristov
68ce999e18 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
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
Johannes Schlüter
a7410ea03d - Fix folding 2011-09-25 13:06:09 +00:00
Johannes Schlüter
31ff0d156e - Fix folding 2011-09-25 13:06:09 +00:00
Johannes Schlüter
223e2ac106 - Fix folding 2011-09-25 13:06:09 +00:00
Xinchen Hui
579408b897 Fix warning "implicit declaration of function `zend_fetch_debug_backtrace'" 2011-09-25 03:18:39 +00:00
Xinchen Hui
437f058814 Fix warning "implicit declaration of function `zend_fetch_debug_backtrace'" 2011-09-25 03:18:39 +00:00
Pierre Joye
272180cb85 - fix build (macros mess) 2011-09-17 12:41:23 +00:00
Pierre Joye
6c2b670e69 - fix build (macros mess) 2011-09-17 12:41:23 +00:00
Pierre Joye
7b2eeea2b4 - fix TS build 2011-09-17 10:24:18 +00:00
Pierre Joye
a68abe830d - fix TS build 2011-09-17 10:24:18 +00:00
Dmitry Stogov
938d956e2e Fixed Windows build 2011-09-16 06:55:43 +00:00
Dmitry Stogov
d6ab6bc6ea Fixed Windows build 2011-09-16 06:55:43 +00:00
Johannes Schlüter
9554e24547 - Fix bug #55609 (mysqlnd cannot be built shared)
# This adds an option --enable-mysqlnd to explicitly built mysqlnd, like any
# other extension it can be used with =shared to build mysqlnd shared;
# mysqlnd will implicitly enabled when requested from another extension
2011-09-06 16:38:22 +00:00
Johannes Schlüter
7420cf22bc - Fix bug #55609 (mysqlnd cannot be built shared)
# This adds an option --enable-mysqlnd to explicitly built mysqlnd, like any
# other extension it can be used with =shared to build mysqlnd shared;
# mysqlnd will implicitly enabled when requested from another extension
2011-09-06 16:38:22 +00:00
Johannes Schlüter
fca3b40d7b - Fix bug #55609 (mysqlnd cannot be built shared)
# This adds an option --enable-mysqlnd to explicitly built mysqlnd, like any
# other extension it can be used with =shared to build mysqlnd shared;
# mysqlnd will implicitly enabled when requested from another extension
2011-09-06 16:38:22 +00:00
Andrey Hristov
049a7c49cd add query information to the trace log 2011-09-06 14:48:43 +00:00
Andrey Hristov
4f0b4031fe add query information to the trace log 2011-09-06 14:48:43 +00:00
Andrey Hristov
3a510c616d missing from previous commit for #55582 2011-09-05 15:37:58 +00:00
Andrey Hristov
4325a8bffc Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Andrey Hristov
5308ed60f3 Fix for Bug #55582 mysqli_num_rows() returns always 0 for unbuffered, when mysqlnd is used 2011-09-05 15:29:45 +00:00
Xinchen Hui
83f61c2c53 Fixed compiler warning "incompatible pointer type" 2011-09-05 15:02:21 +00:00
Xinchen Hui
6a4153db0c Fixed compiler warning "incompatible pointer type" 2011-09-05 15:02:21 +00:00
Gustavo André dos Santos Lopes
dbe8c7c4fa - Fixed bad xor in signed types due to integer promotion.
- Replaced undefined signed overflow with char -> unsigned char conversion.
2011-09-05 00:39:39 +00:00
Gustavo André dos Santos Lopes
22479239a8 - Fixed bad xor in signed types due to integer promotion.
- Replaced undefined signed overflow with char -> unsigned char conversion.
2011-09-05 00:39:39 +00:00
Gustavo André dos Santos Lopes
187b419b04 - Fixed bad xor in signed types due to integer promotion.
- Replaced undefined signed overflow with char -> unsigned char conversion.
2011-09-05 00:39:39 +00:00
Andrey Hristov
3d890c29fd fix message 2011-09-02 12:59:32 +00:00
Andrey Hristov
1f3e66cd56 fix message 2011-09-02 12:59:32 +00:00
Andrey Hristov
e35e394a79 fix message 2011-09-02 12:59:32 +00:00
Andrey Hristov
9f7ad10a63 function rename to comply with the schema of other callbacks 2011-09-02 11:22:41 +00:00
Andrey Hristov
2dbc61a2ff function rename to comply with the schema of other callbacks 2011-09-02 11:22:41 +00:00
Andrey Hristov
d96e924b25 function rename to comply with the schema of other callbacks 2011-09-02 11:22:41 +00:00
Johannes Schlüter
f90bead78a - Fix TSRM build 2011-09-01 12:04:54 +00:00
Johannes Schlüter
4eff96b99b - Fix TSRM build 2011-09-01 12:04:54 +00:00
Johannes Schlüter
7d25510b1b - Register extensions using mysqlnd (mysql, myslqi, pdo_mysql) with mysqlnd 2011-08-31 20:30:08 +00:00
Johannes Schlüter
39b0be5126 - Register extensions using mysqlnd (mysql, myslqi, pdo_mysql) with mysqlnd 2011-08-31 20:30:08 +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
Andrey Hristov
9756f766b6 fix valgrind warnings in debug builds 2011-08-26 12:14:31 +00:00
Andrey Hristov
da2839f71d fix valgrind warnings in debug builds 2011-08-26 12:14:31 +00:00