Commit graph

376 commits

Author SHA1 Message Date
Peter Kokot
c245898bfa Update and fix remaining year ranges (2019)
This patch follows previous license year ranges updates. With new
approach source code files now have simplified headers with license
information without year ranges.
2019-02-08 23:14:29 +01:00
Peter Kokot
92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Andrey Hristov
d12443efc7 Const changes 2019-01-07 20:16:33 +02:00
Andrey Hristov
8975e4dcd7 Simplify the command factory
Since more than an year it not possible to create commands in the heap
but they are allocated on the stack and directly run. In this regard, it
doesn't make sense to have all the vararg stuff. Commands made sense
to be created and pushed onto a stack then a general executor will
run thru the stack and execute/handle the commands.
2019-01-07 18:47:39 +02:00
Andrey Hristov
711e1fb33b Mark const what should not be changed 2019-01-07 15:07:24 +02:00
Nikita Popov
4f06e67ad2 Re-commit MySQL 8 cached SHA auth support
With changes to (hopefully) correctly fall back if OpenSSL support
is missing. Furthermore the hard-coded dependency on ext/hash is
no longer an issue, as this extension is required in master.

This reverts commit 63072e9c0e, reversing
changes made to 4cbabb6852.
2018-11-21 20:16:44 +01:00
Nikita Popov
63072e9c0e Merge branch 'PHP-7.2' into PHP-7.3 2018-09-04 05:57:07 +02:00
Nikita Popov
edec566d9b Merge branch 'PHP-7.1' into PHP-7.2 2018-09-04 05:49:02 +02:00
Nikita Popov
03740ef7df Revert all MySQL auth related changes
Per bug #76651 these changes do not appear to work correctly in
some cases. As no immediate fix seems to be forthcoming, I'm
reverting these changes.

Revert "Fixed invalid free introduced by d6e81f0bfd (avoid keeping "invalid" pointer)"

This reverts commit 11507c0e1b.

Revert "Fix mysqlnd build without openssl"

This reverts commit 6c9db02ff7.

Revert "Fix VC compilation as variable size array is not supported"

This reverts commit f96df64cb2.

Revert "Fix MySQL 8 auth"

This reverts commit d6e81f0bfd.
2018-09-04 05:47:28 +02:00
Dmitry Stogov
6c61f15408 Optimization 2018-07-10 00:04:44 +03:00
Dmitry Stogov
100b4cdabd emalloc() never returns NULL 2018-06-13 12:39:56 +03:00
Anatol Belski
c79af09bc6 Add check for variable size array feature
Usage of VLA is not portable, wile supported by some compilers. For
instance, GCC supports it even if -std=c89 is passed. Even if we would
switch to C99, it would be still not portable at least with VC++. Thus,
adding a centralized check so such code can be guarded and moved to
alloca() if needed.
2018-06-09 20:27:16 +02:00
Anatol Belski
7bef16c37b Merge branch 'PHP-7.2'
* PHP-7.2:
  Fix VC compilation as variable size array is not supported
  NEWS for 7.2.8
2018-06-06 11:21:11 +02:00
Anatol Belski
0bafb530d6 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fix VC compilation as variable size array is not supported
  Fix MySQL 8 auth
2018-06-06 11:14:15 +02:00
Anatol Belski
f96df64cb2 Fix VC compilation as variable size array is not supported 2018-06-06 11:13:28 +02:00
Johannes Schlüter
84f6f693e7 Merge branch 'PHP-7.1' 2018-06-06 00:24:19 +02:00
Johannes Schlüter
d6e81f0bfd Fix MySQL 8 auth 2018-06-06 00:17:34 +02:00
Johannes Schlüter
9881cb3945 Fix initialisation order 2018-02-20 23:35:57 +01:00
Gabriel Caruso
6400264856 Trailing whitespaces
Signed-off-by: Gabriel Caruso <carusogabriel34@gmail.com>
2018-01-03 14:38:00 +01:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Dmitry Stogov
6bcace1b72 Use single memory pool for result metadata and result set. 2017-11-15 14:07:09 +03:00
Dmitry Stogov
e2c9dfb5de Cleanup. Make difference between MYSQLND_ROW_BUFFER and MYSQLND_MEMORY_POOL_CHUNK (the last one is completely removed). 2017-11-15 11:33:32 +03:00
Nikita Popov
b08253a7a0 Try to fix AppVeyor build
Performing arithmetic on void pointers is a GCC extension.
2017-11-14 22:31:34 +01:00
Dmitry Stogov
f1f1f63ce1 Reimplemented MYSQLND_MEMORY_POOL to avoid allocations ouside of pool. Store all data related to result set in the pool. 2017-11-14 23:08:29 +03:00
Dmitry Stogov
4d5330fbe1 Run mysqlmd commands in one step (without separate create/run/free). 2017-11-14 17:32:41 +03:00
Dmitry Stogov
93334b5fc2 Use stack-allocated packets. 2017-11-14 15:10:27 +03:00
Dmitry Stogov
a7305eb539 Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary) 2017-11-02 03:27:25 +03:00
Dmitry Stogov
272f5a1716 Extend zend_string API to avoid reallocation in zend_string_init_interned() 2017-10-19 00:02:56 +03:00
Dmitry Stogov
1dd224dd12 Reuse interned strings from opcache SHM, if possible. 2017-10-16 19:20:16 +03:00
Anatol Belski
756aaaf806 Merge branch 'PHP-7.2'
* PHP-7.2:
  Fixed bug #75018, fixed bug #75177
2017-09-13 14:12:53 +02:00
Anatol Belski
b134793b32 Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Fixed bug #75018, fixed bug #75177
2017-09-13 14:12:31 +02:00
Anatol Belski
3d93856c4a Fixed bug #75018, fixed bug #75177
Both are caused by the same cast issue in mysqlnd on 32-bit.
2017-09-13 14:10:30 +02:00
Kalle Sommer Nielsen
2462d1a77c Kill a compiler warning in ext/mysqlnd 2017-08-24 01:00:33 +02:00
Dmitry Stogov
a08723d3d3 Use interned empty and "one char" strings. 2017-05-18 17:59:59 +03:00
Nikita Popov
98fceaf61e Merge branch 'PHP-7.0' into PHP-7.1 2017-02-12 12:50:14 +01:00
andrewnester
01c1afa79f Fixed bug #74021 2017-02-12 12:48:18 +01:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Nikita Popov
43ed89ea31 Fix data_size decrement
We don't want to decrement the pointer...
2017-01-02 23:47:30 +01:00
Nikita Popov
737eb060db Merge branch 'PHP-7.0' into PHP-7.1 2017-01-02 23:39:35 +01:00
vanviegen
abba56f605
Fix for sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE
Fixes bug #73800

news entry for PR #2249
2017-01-02 14:56:41 +00:00
vanviegen
732f67ee6f
Fix for sporadic segfault with MYSQLI_OPT_INT_AND_FLOAT_NATIVE
Fixes bug #73800

news entry for PR #2250
2017-01-02 14:54:45 +00:00
Andrey Hristov
9eca4dca73 Optimized memory handling of BIT fields. Less memory copies and less
memory usage.
2016-12-12 21:59:29 +02:00
Andrey Hristov
2819a28ac3 Merge branch 'PHP-7.0' into PHP-7.1 2016-12-12 21:12:44 +02:00
Andrey Hristov
e15c418c4c Fix off by 1 problem.
The problem was manifestated only with BIT columns and only when more than
one row was fetched. The problem was coming from the fact that in pre-7.0
times mysqlnd was using a no-copy optimization. This optimization kept the
strings (and also the BIT mask equivalents as strings) in the packet and the
zval referred to them. 7.0+ zvals cannot use no-copy and always copy. Because
of this the allocated memory for the packet was reduced by 1 by the person who
ported the driver, but the starting address of the bit area wasn't reduced.
Because of this the bit_area started at wrong address and the length decoded
wrong.
2016-12-12 21:11:02 +02:00
Stanislav Malyshev
caea2c876b Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields 2016-09-12 21:07:44 -07:00
Stanislav Malyshev
c984661d39 Fix bug #72293 - Heap overflow in mysqlnd related to BIT fields 2016-09-12 20:28:50 -07:00
Dmitry Stogov
adc95c5114 Fixed compilation warnings 2016-06-23 12:47:06 +03:00