Peter Kokot
9026596fe9
Sync --enable-mysqlnd-compression-support option ( #12006 )
...
This syncs the style of the --enable-mysqlnd-compression-support option
name, otherwise in Autoconf both --enable-foo_bar and --enable-foo-bar
work.
Also the configure output message is synced to match the check
information.
2023-08-21 16:38:04 +02:00
Kamil Tekiela
7e4ca2e8d9
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix implicit/explicit port in mysqlnd
Closes GH-11990
2023-08-16 20:34:48 +01:00
Kamil Tekiela
06bda99280
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix implicit/explicit port in mysqlnd
2023-08-16 20:33:52 +01:00
Kamil Tekiela
c1103a9772
Fix implicit/explicit port in mysqlnd
2023-08-16 18:59:07 +01:00
Kamil Tekiela
4a77a1ec08
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix error checking in mysqlnd
2023-08-10 15:26:14 +01:00
Kamil Tekiela
7a4b213c1f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix error checking in mysqlnd
2023-08-10 15:25:37 +01:00
Kamil Tekiela
0d922aa595
Fix error checking in mysqlnd
...
Closes GH-11925
2023-08-10 15:23:54 +01:00
Kamil Tekiela
788540ef2c
Remove remnant of COM_FIELD_LIST
2023-08-10 00:38:37 +01:00
Kamil Tekiela
82934746b7
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
2023-08-04 22:54:30 +01:00
Kamil Tekiela
4db701c049
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
2023-08-04 22:31:18 +01:00
Yurun
ca5d48213a
Fix MySQL Statement has a empty query result when the response field has changed, also Segmentation fault
...
Closes GH-11551.
2023-08-04 22:25:01 +01:00
Niels Dossche
50bb380594
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10964: Improve `man` page about the built-in server
Fix GH-11438: mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters
2023-08-03 20:33:07 +02:00
Niels Dossche
75441d71d8
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-10964: Improve `man` page about the built-in server
Fix GH-11438: mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters
2023-08-03 20:32:30 +02:00
Niels Dossche
509906b2a5
Fix GH-11438: mysqlnd fails to authenticate with sha256_password accounts using passwords longer than 19 characters
...
https://dev.mysql.com/doc/dev/mysql-server/latest/page_caching_sha2_authentication_exchanges.html
tells us that the nonce used in this authentication method is 20 bytes
long. However, we might receive additional scramble data in
php_mysqlnd_greet_read not used in this method.
On my test setup, I received 21 bytes (20 bytes + '\0'). This resulted
in the xor computation to incorrectly include the NUL byte. Every
password of at least 20 characters therefore failed to authenticate
using this method.
Looking at mysql-server source code also seems to reveal that it always
uses a fixed number of scramble bytes [1].
[1] https://github.com/mysql/mysql-server/blob/ea7087d885006918ad54458e7aad215b1650312c/sql/auth/sha2_password.cc#L1078-L1079
Closes GH-11445.
Co-authored-by: Kamil Tekiela <tekiela246@gmail.com >
2023-08-03 20:28:11 +02:00
Niels Dossche
6fc8ab2eb8
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-11440: authentication to a sha256_password account fails over SSL
2023-08-02 20:33:43 +02:00
Niels Dossche
139a69261f
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-11440: authentication to a sha256_password account fails over SSL
2023-08-02 20:33:24 +02:00
nielsdos
94127c53aa
Fix GH-11440: authentication to a sha256_password account fails over SSL
...
This is similar to bug #78680 , but that bug wasn't really fixed in all
places. This is the only remaining place.
Closes GH-11444.
2023-08-02 20:30:49 +02:00
Yurun
071bf46573
Fix incorrect function/method names in DBG_ENTER() ( #11554 )
2023-06-29 13:13:55 +01:00
Javier Eguiluz
732d92c0e5
[skip ci] Fix various typos and grammar issues ( #11143 )
2023-04-28 11:05:32 +02:00
Niels Dossche
bb9480a8be
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix GH-10907: Unable to serialize processed SplFixedArrays in PHP 8.2.4
Fix GH-8979: Possible Memory Leak with SSL-enabled MySQL connections
2023-03-24 18:09:05 +01:00
Niels Dossche
337973fccc
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix GH-8979: Possible Memory Leak with SSL-enabled MySQL connections
2023-03-24 18:06:53 +01:00
Niels Dossche
8930bf8c33
Fix GH-8979: Possible Memory Leak with SSL-enabled MySQL connections
...
The stream context inside `mysqlnd_vio::enable_ssl()` is leaking.
In particular: when `php_stream_context_set()` get called the refcount
of `context` is increased by 1, which means that `context` will now
have a refcount of 2. Later on we remove the context from the stream
by calling `php_stream_context_set(stream, NULL)` but that leaves our
`context` with a refcount of 1, and therefore it's never destroyed.
In my test case this yielded a leak of 1456 bytes per connection
(but could be more depending on your settings ofc).
Annoyingly, Valgrind doesn't find it because the context is still
in the `EG(regular_list)` and will thus be destroyed at the end of
the request. However, I still think this bug needs to be fixed because
as the users in the issue report already mentioned:
there can be long-running PHP scripts.
Fix it by decreasing the refcount to transfer the ownership.
Closes GH-10909.
2023-03-24 18:03:29 +01:00
George Peter Banyard
f13d541ca6
Fix GCC 12 compiler warnings ( #10713 )
...
* Fix -Wunused-but-set-variable compiler warning in ext/mysqli
* Fix -Wstrict-prototypes compiler warning in ext/mysqlnd
* Fix -Wstrict-prototypes compiler warning in ext/soap
* Fix -Wunused-but-set-variable compiler warning in ext/exif
However, this code looks really sketchy...
* Fix -Wstrict-prototypes compiler warning in ext/openssl
* Fix -Wstrict-prototypes compiler warning in ext/dba
Add void to our bundled libraries
* Refactor bundled BCMath library
Fix -Wdeprecated-non-prototype compiler warnings
Use bool instead of char/int
Cleanup some useless header includes
2023-02-28 14:21:01 +00:00
Kamil Tekiela
0e5128c256
Remove mysqlnd_shutdown() ( #10355 )
2023-01-17 11:46:34 +00:00
Christoph M. Becker
c8955c078a
Revert GH-10220
...
Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816 >.
This reverts commit ecc880f491 .
This reverts commit 588a07f737 .
This reverts commit f377e15751 .
This reverts commit b4ba16fe18 .
This reverts commit 694ec1deea .
This reverts commit 6b34de8eba .
This reverts commit aa1cd02a43 .
This reverts commit 308fd311ea .
This reverts commit 16203b53e1 .
This reverts commit 738fb5ca54 .
This reverts commit 9fdbefacd3 .
This reverts commit cd4a7c1d90 .
This reverts commit 928685eba2 .
This reverts commit 01e5ffc85c .
2023-01-16 12:27:33 +01:00
Max Kellermann
7473b86f10
build/php.m4: remove test for integer types ( #10304 )
...
These are mandatory in C99, so it's a pointless waste of time to check
for them.
(Actually, the fixed-size integer types are not mandatory, but if they
are really not available on some theoretical system, PHP's fallbacks
won't work either, so nothing is gained from this check.)
2023-01-13 11:51:15 +00:00
Max Kellermann
308fd311ea
ext/{standard,json,random,...}: add missing includes
2023-01-10 14:19:03 +00:00
Kamil Tekiela
3508b07bd6
Tidy up buffer preparation in mysqlnd ( #9834 )
2022-11-02 12:06:03 +00:00
Kamil Tekiela
cd8beb8d59
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Add NEWS entry for #9841
Add a temporary fix for insufficient buffer size in mysqlnd (#9835 )
mysqli_query throws warning despite using silenced error mode (#9842 )
2022-10-27 18:35:30 +01:00
Kamil Tekiela
646b8f6b5c
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Add NEWS entry for #9841
Add a temporary fix for insufficient buffer size in mysqlnd (#9835 )
mysqli_query throws warning despite using silenced error mode (#9842 )
2022-10-27 18:34:14 +01:00
Kamil Tekiela
ec1f58c871
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
Add NEWS entry for #9841
Add a temporary fix for insufficient buffer size in mysqlnd (#9835 )
mysqli_query throws warning despite using silenced error mode (#9842 )
2022-10-27 18:31:38 +01:00
Kamil Tekiela
e713a8e8e5
Add a temporary fix for insufficient buffer size in mysqlnd ( #9835 )
2022-10-27 18:25:17 +01:00
Christoph M. Becker
e4e6c3e960
Merge branch 'PHP-8.2'
...
* PHP-8.2:
Fix potential heap corruption due to alignment mismatch
2022-10-13 11:48:26 +02:00
Christoph M. Becker
3193c037d2
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
Fix potential heap corruption due to alignment mismatch
2022-10-13 11:48:07 +02:00
Christoph M. Becker
7e14d2466a
Fix potential heap corruption due to alignment mismatch
...
The fix for bug 63327[1] changed the extra size of mysqlnd allocations
from `sizeof(size_t)` to the properly aligned values; however, the
allocation in `_mysqlnd_pestrdup()` has apparently been overlooked,
which (currently) causes detectable heap corruption when running
mysqli_get_client_stats.phpt on 32bit Windows versions.
[1] <https://github.com/php/php-src/commit/338a47bb856872f9ab0db94e867333d73279ca85 >
Closes GH-9724.
2022-10-13 11:47:24 +02:00
Arnaud Le Blanc
5b6f9df51a
Merge branch 'PHP-8.2'
...
* PHP-8.2:
[ci skip] NEWS
[ci skip] NEWS
[ci skip] NEWS
Return immediately when FD_SETSIZE is exceeded (#9602 )
2022-10-01 11:26:17 +02:00
Arnaud Le Blanc
246d13cd99
Merge branch 'PHP-8.1' into PHP-8.2
...
* PHP-8.1:
[ci skip] NEWS
[ci skip] NEWS
Return immediately when FD_SETSIZE is exceeded (#9602 )
2022-10-01 11:24:23 +02:00
Arnaud Le Blanc
d4b99542d5
Merge branch 'PHP-8.0' into PHP-8.1
...
* PHP-8.0:
[ci skip] NEWS
Return immediately when FD_SETSIZE is exceeded (#9602 )
2022-10-01 11:23:34 +02:00
Arnaud Le Blanc
80232de0e4
Return immediately when FD_SETSIZE is exceeded ( #9602 )
2022-10-01 11:20:43 +02:00
Tim Düsterhus
03fd405423
Use php_info_print_table_header for actual column headers only ( #9485 )
...
Using php_info_print_table_header() for "Foo: bar" looks odd and out of place,
because the whole line is colored. It is also questionable from a HTML
semantics point of view, because it does not described the columns that follow.
The use of this across extensions is inconsistent. It was part of the skeleton,
but ext/date or ext/json already use a regular row.
2022-09-06 08:48:22 +02:00
Pierrick Charron
bad26b7560
Merge branch 'PHP-8.1'
2022-06-10 12:45:30 -04:00
Pierrick Charron
77ba689fd6
Merge branch 'PHP-8.0' into PHP-8.1
2022-06-10 12:44:39 -04:00
Pierrick Charron
df4dd82ea0
Fix bad integer promotion in mysqlnd big5 charset detection
2022-06-10 12:41:54 -04:00
Stanislav Malyshev
70d03423c7
Merge branch 'PHP-8.1'
2022-06-06 01:11:49 -06:00
Stanislav Malyshev
98e1291b7e
Merge branch 'PHP-8.0' into PHP-8.1
2022-06-06 01:11:44 -06:00
Stanislav Malyshev
e864cb61a7
Merge branch 'PHP-7.4' into PHP-8.0
2022-06-06 01:11:13 -06:00
Stanislav Malyshev
58006537fc
Fix bug #81719 : mysqlnd/pdo password buffer overflow
2022-06-06 00:56:51 -06:00
George Peter Banyard
d08451b2ca
Replace php_stdint.h header with standard headers ( #8613 )
2022-05-29 11:20:56 +01:00
Kamil Tekiela
15129ab688
Merge branch 'PHP-8.1'
...
* PHP-8.1:
Fix mnd_malloc -> mnd_emalloc from previous merge
2022-03-31 10:54:38 +01:00
Kamil Tekiela
ced5581eca
Fix mnd_malloc -> mnd_emalloc from previous merge
2022-03-31 10:53:58 +01:00