今日は sqlite3 の defensive モード対応、Win32 版での configure の必須プログラムチェックの修正、弱参照の実装、ドキュメントの更新、拡張ロード時の RTLD_NOW への対応、ビルトイン HTTP サーバの $_SERVER['REMOTE_ADDR']
の IP アドレスが誤っていた問題の修正、ZTS キャッシュの扱い修正があった!
2019-03-12
bohwaz: SQLite3: add DEFENSIVE config for SQLite >= 3.26.0 as a mitigation strategy against potential security flaws
- https://github.com/php/php-src/commit/e93259bb23500e26a7b0317cde9ad5398eec074e
- [7.2~]
- ext/sqlite3 で、SQLite 3.26.0 以上用に defensive モードのサポートを追加
- INI の sqlite3.defensive で設定
- DB ファイルをわざとぶっ壊せる機能が無効になる
weltling: Die hard if mc.exe or mt.exe not found
- https://github.com/php/php-src/commit/6814ba11bc8c2638b7345aaea176fc7c678aa07f
- [7.2~]
- Win32 版のビルドで、mc.exe か mt.exe がなかったら configure の段階でエラーにして止めるよう修正
krakjoe: zend_weakrefs
- https://github.com/php/php-src/commit/6529d7acd9912a609924633a43e6562799566225
- [7.4~]
- PHP RFC: Weak References の実装
krakjoe: weakrefs upgrading note
- https://github.com/php/php-src/commit/b003e0a0f58a690854ebb99e3205b78f22abb567
- [7.4~]
- ↑ の UPGRADING への追記
remicollet: add --enable-rtld-now build option to change dlopen behavior
- https://github.com/php/php-src/commit/d633cbac1c1d957ae07994b2e20ea4d86ad8dc3c
- ビルドオプションに --enable-rtld-now を追加
- 拡張ロード時の dlopen() で RTLD_LAZY と RTLD_NOW のどちらを使うかの設定
- これまでは常時 RTLD_LAZY だった
remicollet: use DL_LOAD in litespeed
- https://github.com/php/php-src/commit/233888e36a6fb510214414a7ddb5fe18637b4182
- sapi/litespeed で、共有オブジェクトのロードに dlopen() を直接使わず DL_LOAD() を使うよう修正
remicollet: add --enable-rtld-now in upgrade info
- https://github.com/php/php-src/commit/99ee5db5e0318b486f408fcdc2abe5de43519c46
- [7.4~]
- --enable-rtld-now について UPGRADING.INTERNALS へ追記
nikic: Fixed bug #77722
- https://github.com/php/php-src/commit/a7739be22f8b376c58d666caa4479005e14bc2fa
- [7.3~]
- sapi/cli で、ビルトイン HTTP サーバの
$_SERVER['REMOTE_ADDR']
の IP アドレスが誤っていた問題の修正
dstogov: Fixed ZTS cache usage
- https://github.com/php/php-src/commit/c48f5fe841987f9c43111565e9a259698539b9ec
- [7.4~]
- ext/ffi で、ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 でビルドするよう修正
dstogov: Cleanup unused module globals
- https://github.com/php/php-src/commit/5aa1176238f41097ea7295ba6911aa19ae7c1021
- [7.4~]
- 幾つかの拡張の使われていないグローバル変数の削除
dstogov: Switch to use ZTS cache
- https://github.com/php/php-src/commit/f1b306fe117cfbbe69ab4ef9713d39ea068e74c0
- [7.4~]
- 幾つかの拡張で ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 でビルドするよう修正
dstogov: Fixed ZTS cache usage
- https://github.com/php/php-src/commit/b0d76ed4adce1099d6dd101e6757af6c1d0f6646
- [7.4~]
- sapi/phpdbg で、TSRMG を ZEND_TSRMG に修正
dstogov: Fixed ZTS cache usage
- https://github.com/php/php-src/commit/25d4af9413b478393b9bc92fdb585495d56d8e25
- [7.4~]
- sapi/phpdbg で、TSRMG_BULK を TSRMG_BULK_STATIC に修正
dstogov: Fixed ZTS cache usage
- https://github.com/php/php-src/commit/cf4ee57dc9024362aaf009ac82013cb86f9aa350
- [7.4~]
- sapi/fpm で、ZEND_ENABLE_STATIC_TSRMLS_CACHE=1 でビルドするよう修正し、TSRMG を ZEND_TSRMG に修正
dstogov: Fixed ZTS cache usage
- https://github.com/php/php-src/commit/7139c381f133eff38e1fcebfa29f35119c8648f4
- [7.4~]
- ext/mbstring で、拡張ビルド時に使われるソースコードを変更しているっぽいがいまいち分からず
dstogov: Avoid reinitailization of ZTS cache pointer. Initialize it once in TSRM.c
- https://github.com/php/php-src/commit/04b67bac32e5fbc0942a1e15405fa1ca7f0438fe
- [7.4~]
- ZTS キャッシュポインタの最初期化を避け、TSRM.c で一度だけ初期化するよう修正