I completely agree with Adam and others, we should not change the
behaviour to add any magic.

The ext/curl api was made to stay as close as possible from the
original libcurl api and it should stay the same (even if it's not
always implicit). A lot of people are often referring to the libcurl C
documentation to get more informations. Since it's supposed to be
almost a 1 to 1 binding everything (even bad use of
CURLOPT_SSL_VERIFYHOST with boolean) should work as expected without
any magic.

Pierrick

On 25 October 2012 02:19, Adam Harvey <ahar...@php.net> wrote:
>
> On 25 October 2012 13:46, JJ <ja...@php.net> wrote:
> > On Wed, Oct 24, 2012 at 10:34 PM, Sherif Ramadan
> > <theanomaly...@gmail.com> wrote:
> >> I understand there are people out there that don't read the
> >> documentation and aren't aware of the difference between
> >> curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); and curl_setopt($ch,
> >> CURLOPT_SSL_VERIFYHOST, true); but still... I don't think this is a
> >> good idea either.
> >
> > I highly doubt code that sets CURLOPT_SSL_VERIFYHOST => true meant to
> > imply CURLOPT_SSL_VERIFYHOST => 1...which essentially bypasses host
> > verification.
>
> They may have, even in spite of it being a bad idea, since that's how
> boolean → integer conversion works in PHP. I don't think we can assume
> that every single person who's written that line of code didn't check
> whether CURLOPT_SSL_VERIFYHOST was a boolean or integer option.
>
> > According to libcurl, CURLOPT_SSL_VERIFYHOST => 1 is "not ordinarily a
> > useful setting".
>
> I agree, but I don't think we can start arbitrarily changing well
> defined type conversion behaviour for one corner case. The
> CURLOPT_SSL_VERIFYHOST option has been documented as expecting integer
> 0, 1 or 2 since at least April 2002 (and probably quite a bit earlier
> than that), complete with the meanings of each value — there's only so
> much we can do to protect developers from themselves. (In fairness,
> the wording strongly recommending using option 2 only came in last
> August thanks to Ilia, but nobody should have been treating the option
> as a boolean option to start with.)
>
> Fundamentally, it's a bad API on the part of curl, but that's a
> separate issue. There's nothing stopping somebody proposing a saner
> API on top of libcurl (as Anthony did recently with the password
> hashing API atop crypt()).
>
> In summary, I'm against changing ext/curl here.
>
> I do have a couple of specific comments on elements of the patch
> itself in the event that the changed behaviour is wanted, but I'll
> post those on GitHub, since it's probably a better UI for that sort of
> granular discussion.
>
> Adam
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to