<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/php-git.git, branch php-8.0.0alpha1</title>
<subtitle>git.php.net: repository/php-src.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/'/>
<entry>
<title>Update versions for PHP 8.0.0alpha1</title>
<updated>2020-06-23T15:42:19+00:00</updated>
<author>
<name>Sara Golemon</name>
<email>pollita@php.net</email>
</author>
<published>2020-06-23T15:42:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=3f95989a32c45ba2a25001de69673242e9efb52d'/>
<id>3f95989a32c45ba2a25001de69673242e9efb52d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update NEWS for PHP 8.0.0alpha1</title>
<updated>2020-06-23T15:42:19+00:00</updated>
<author>
<name>Sara Golemon</name>
<email>pollita@php.net</email>
</author>
<published>2020-06-23T15:42:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=d3ff398ea8a3ff46712e02805d77fea0a0641853'/>
<id>d3ff398ea8a3ff46712e02805d77fea0a0641853</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Deprecate the procedural API of ext/zip</title>
<updated>2020-06-23T15:39:29+00:00</updated>
<author>
<name>Máté Kocsis</name>
<email>kocsismate@woohoolabs.com</email>
</author>
<published>2020-06-20T07:50:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=f3b1f342c887073012f4ca7c1bc1b5259ce4cedc'/>
<id>f3b1f342c887073012f4ca7c1bc1b5259ce4cedc</id>
<content type='text'>
Closes GH-5746
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes GH-5746
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace exceptional code by side exit to VM</title>
<updated>2020-06-23T15:31:42+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2020-06-23T15:31:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=da1c6724246661ff4fe7b6fe9db068ada7b500e2'/>
<id>da1c6724246661ff4fe7b6fe9db068ada7b500e2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Cleanup and better register usage</title>
<updated>2020-06-23T14:51:02+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2020-06-23T14:51:02+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=e2a8b3e120fc7fc0f160f08bcfead27f9a6cf44c'/>
<id>e2a8b3e120fc7fc0f160f08bcfead27f9a6cf44c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce amount of "cold" code generated for FETCH_OBJ_* instructions</title>
<updated>2020-06-23T14:16:44+00:00</updated>
<author>
<name>Dmitry Stogov</name>
<email>dmitry@zend.com</email>
</author>
<published>2020-06-23T14:16:44+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=6ac16882d405be7ae496eda6afe70c77d83ed56b'/>
<id>6ac16882d405be7ae496eda6afe70c77d83ed56b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify `_crypt_extended_init_r`, and fix redundant initialization on Win32/Solaris</title>
<updated>2020-06-23T14:10:54+00:00</updated>
<author>
<name>Alex Dowad</name>
<email>alexinbeijing@gmail.com</email>
</author>
<published>2020-05-27T04:01:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=7a9f0cc3d05f860268e3fd28fff17d12c5671f97'/>
<id>7a9f0cc3d05f860268e3fd28fff17d12c5671f97</id>
<content type='text'>
Looking at the history of this function, the original implementation had a bug where
it would return from the middle of the function without unlocking the mutex first.
The author attempted to fix this by incrementing the `initialized` flag atomically,
which is not necessary, since the section which modifies the flag is protected by a
mutex.

Coincidentally, at the same time that all this unnecessary 'atomic' machinery was
introduced, the code was also changed so that it didn't return without unlocking the
mutex. So it looks like the bug was fixed by accident.

It's not necessary to declare the flag as `volatile` either, since it is protected
by a mutex.

Further, the 'fixed' implementation was also wrong in another respect: on Windows
and Solaris, the `initialized` flag was not even declared as `static`!! So the
initialization of the static tables for S-boxes, P-boxes, etc. was repeated on
each call to `php_crypt`, completely defeating the purpose of this function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Looking at the history of this function, the original implementation had a bug where
it would return from the middle of the function without unlocking the mutex first.
The author attempted to fix this by incrementing the `initialized` flag atomically,
which is not necessary, since the section which modifies the flag is protected by a
mutex.

Coincidentally, at the same time that all this unnecessary 'atomic' machinery was
introduced, the code was also changed so that it didn't return without unlocking the
mutex. So it looks like the bug was fixed by accident.

It's not necessary to declare the flag as `volatile` either, since it is protected
by a mutex.

Further, the 'fixed' implementation was also wrong in another respect: on Windows
and Solaris, the `initialized` flag was not even declared as `static`!! So the
initialization of the static tables for S-boxes, P-boxes, etc. was repeated on
each call to `php_crypt`, completely defeating the purpose of this function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.4'</title>
<updated>2020-06-23T14:02:19+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-06-23T14:02:19+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=9bd648ba1e54c1f3dc8de19772a4f038fe9320a7'/>
<id>9bd648ba1e54c1f3dc8de19772a4f038fe9320a7</id>
<content type='text'>
* PHP-7.4:
  Fix #55857: ftp_size on large files
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.4:
  Fix #55857: ftp_size on large files
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'PHP-7.3' into PHP-7.4</title>
<updated>2020-06-23T14:00:11+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-06-23T13:58:49+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=e7bbac9d113625f0f63810d9ea00c6c798bbf2ed'/>
<id>e7bbac9d113625f0f63810d9ea00c6c798bbf2ed</id>
<content type='text'>
* PHP-7.3:
  Fix #55857: ftp_size on large files
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PHP-7.3:
  Fix #55857: ftp_size on large files
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #55857: ftp_size on large files</title>
<updated>2020-06-23T13:57:24+00:00</updated>
<author>
<name>Christoph M. Becker</name>
<email>cmbecker69@gmx.de</email>
</author>
<published>2020-06-23T13:17:31+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/php-git.git/commit/?id=e94126aac74a80749c7bcf00f5faa9ad9542c94b'/>
<id>e94126aac74a80749c7bcf00f5faa9ad9542c94b</id>
<content type='text'>
`atol()` returns a `long` which is not the same as `zend_long` on
LLP64; we use `ZEND_ATOL()` instead.

There is no need for a new test case, since filesize_large.phpt already
tests for that behavior; unfortunately, the FTP test suite relies on
`pcntl_fork()` and therefore cannot be run on Windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`atol()` returns a `long` which is not the same as `zend_long` on
LLP64; we use `ZEND_ATOL()` instead.

There is no need for a new test case, since filesize_large.phpt already
tests for that behavior; unfortunately, the FTP test suite relies on
`pcntl_fork()` and therefore cannot be run on Windows.
</pre>
</div>
</content>
</entry>
</feed>
