Yes, the fix requires "ignore_errors", which is new in 5.3. The bug
can't be fixed in 5.2 without breaking compatibility.

Regards,

Arnaud

On Sun, 2009-05-17 at 02:02 +0300, Jani Taskinen wrote:
> Last 7 commits or so, none went to PHP_5_2. Intentionally?
> We usually fix bugs in the branch they're reported for also..
> 
> --Jani
> 
> 
> Arnaud Le Blanc kirjoitti:
> > I commited your change as it fixes a bug, thanks for the patch :) 
> > 
> > I also followed your idea of a server to test http streams (ftp
> > extension does this, too) and wrote a test for this bug. Other http
> > tests are welcome if you want to write some.
> > 
> > Regards,
> > 
> > Arnaud
> > 
> > On Sat, 2009-05-16 at 16:42 +0800, Tjerk Anne Meesters wrote:
> >> On a related note, I've been working on a phpt to verify the behaviour
> >> during which I've noticed a lack of test cases for networked functions
> >> in general.
> >>
> >> The solution I have in mind depends on pcntl_fork(), which practically
> >> takes out Windows test targets. It essentially forks out a child to
> >> perform the test while the parent starts a socket_server.
> >>
> >> I suppose it would be nice if the test framework could somehow be
> >> extended to pose as a webserver to verify typical http behaviour
> >> inside stream wrappers =D
> >>
> >> This can't be the first time that this has been a point of discussion;
> >> my apologies if this has been outright rejected before ;-)
> >>
> >> On 5/16/09, Arnaud Le Blanc <lbarn...@php.net> wrote:
> >>> On Fri, 2009-05-15 at 11:49 -0400, Ilia Alshanetsky wrote:
> >>>> the patch looks good.
> >>> Same here. Lukas, Johannes, can this be commited to 5.3 ?
> >>>
> >>> Regards,
> >>>
> >>> Arnaud
> >>>
> >>>
> >>>>
> >>>> Ilia Alshanetsky
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On 15-May-09, at 11:36 AM, Tjerk Anne Meesters wrote:
> >>>>
> >>>>> Hi Arnaud,
> >>>>>
> >>>>> Thanks for the tip, please find patch attached.
> >>>>>
> >>>>>
> >>>>> Best,
> >>>>>  Tjerk
> >>>>>
> >>>>> On Fri, May 15, 2009 at 10:58 PM, Arnaud Le Blanc <lbarn...@php.net>
> >>>>> wrote:
> >>>>>> Hi,
> >>>>>>
> >>>>>> On Fri, 2009-05-15 at 22:16 +0800, Tjerk Anne Meesters wrote:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I've been extending the pecl/oauth code to work with php stream
> >>>>>>> wrappers in cases whereby curl is not enabled, but I've hit a snag.
> >>>>>>>
> >>>>>>> The documentation states that enabling the "ignore_errors" flag will
> >>>>>>> fetch the content even on failure status codes. At the same time,
> >>>>>>> setting "max_redirects" to <= 1 indicates that no redirects will be
> >>>>>>> followed.
> >>>>>>>
> >>>>>>> It does not state that setting "max_redirects" <= 1 would actually
> >>>>>>> trigger an error, though in the code it returns (php_stream *)NULL
> >>>>>>> making it impossible to even get the headers out of the wrapperdata
> >>>>>>> hash unless STREAM_ONLY_GET_HEADERS is used.
> >>>>>>>
> >>>>>>> So, either setting "max_redirects" <= 1 should not throw NULL back
> >>>>>>> into the caller code or "ignore_error" behaviour should be
> >>>>>>> extended to
> >>>>>>> prevent that from happening.
> >>>>>>>
> >>>>>>> My attached patch favours to fix the latter, since the
> >>>>>>> "ignore_errors"
> >>>>>>> is a relatively new flag. Hope it will be accepted for the 5.3
> >>>>>>> release.
> >>>>>> max_redirects's purpose is to avoid infinite loops, etc. Stream
> >>>>>> functions are expected to return an error in case the limit is
> >>>>>> exceeded.
> >>>>>> If they do not, scripts will get an empty body without noticing the
> >>>>>> error (changing this may break existing scripts).
> >>>>>>
> >>>>>> ignore_errors is a new flag, it forces scripts to check HTTP status
> >>>>>> code
> >>>>>> (so that scripts will notice non-200 ones) and changing it to ignore
> >>>>>> redirects when max_redirects is exceeded seems to be a good solution.
> >>>>>>
> >>>>>>> (not sure whether attachments will be allowed ... give me a ping
> >>>>>>> if it
> >>>>>>> doesn't make it through)
> >>>>>> The list accepts only text/plain attachments (try renaming your patch
> >>>>>> to .txt).
> >>>>>>
> >>>>>>
> >>>>>> Regards,
> >>>>>>
> >>>>>> Arnaud
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> --
> >>>>> Tjerk
> >>>>> <http_fopen_wrapper.c.patch.txt>--
> >>>>> 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