Re: Re: Verify peers by default, merge error
| From: | Nikita Popov | Date: | Thu, 30 Jan 2014 09:07:24 +0000 |
| Subject: | Re: Re: Verify peers by default, merge error | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-71789@lists.php.net to get a copy of this message | ||
On Thu, Jan 30, 2014 at 3:59 AM, Daniel Lowrey <rdlowrey@gmail.com> wrote:
> I need a bit of help here as I'm starting to doubt my sanity. Is there some
> difference between the master branch and PHP-5.6 regarding zts that I'm
> unaware of?
>
> I've pushed a fix for the peer verification build breakage the code is
> identical in both branches but the master branch won't build *without*
> TSRMLS_CC and the PHP-5.6 branch will not build *with* the TSRMLS_CC
> declaration and I'm completely flumoxed at this point.
>
> The relevant commit can be found here:
>
>
>
> https://github.com/php/php-src/commit/43432c12f176d42d35c82345caef23fb016cec82#diff-fba6f2ad888bf4d71a91b060dfee4522L482
>
> The offending bit of code is:
>
> ```
> if (sslsock->is_client
> && (php_stream_context_get_option(stream->context, "ssl",
> "SNI_enabled", &val) == FAILURE
> || zend_is_true(*val TSRMLS_CC))
> ) {
> ```
>
> Any guidance is appreciated.
>
The signature of zend_is_true changed between PHP-5.6 and master. In
PHP-5.6 it does not need TSRMLS_CC, in master it does.
Nikita