#3993 closed defect (bug) (fixed)
Snoopy Class incompability with lighttpd/1.4.11 (and other httpds?)
Reported by: | hakre | Owned by: | rob1n |
---|---|---|---|
Milestone: | 2.3 | Priority: | normal |
Severity: | normal | Version: | 2.1.2 |
Component: | General | Keywords: | snoopy http has-patch commit |
Focuses: | Cc: |
Description
I had the situation that an RSS request made to a server resultet in a 404 instead 200. I analyzed it and it came to my attention that using the Port within the Host Request header (as snoopy does) triggers that error.
Since HOST is not a valid http/1.0 (Request) Header(1), (2) applies here. Port 80 is the default Port for HTTP(2) it must not be part of the HOST Header. Since this is causing the Error with lighttpd/1.4.11 I suggest to modify the snoopy class:
file: wp-inludes/class-snoopy.php line: 799ff change from: if(!empty($this->port)) $headers .= ":".$this->port; change to: if(!empty($this->port)) if ($this->port != 80) { $headers .= ":".$this->port; }
BTW this type of HTTP Implementation is similar to other stable and mature libraries on various platforms.
(1) see Full-Request in http://www.faqs.org/rfcs/rfc1945.html
(2) see 14.23 in http://www.faqs.org/rfcs/rfc2616.html
Attachments (1)
Change History (8)
Note: See
TracTickets for help on using
tickets.
i found another report about this issue in the snoopy bugtracker: http://sourceforge.net/tracker/index.php?func=detail&aid=1671104&group_id=2091&atid=102091