Make WordPress Core

Opened 9 years ago

Closed 9 years ago

Last modified 6 months ago

#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:


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:
				$headers .= ":".$this->port;

change to:
				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)

3993.diff (517 bytes) - added by rob1n 9 years ago.

Download all attachments as: .zip

Change History (8)

#1 @hakre
9 years ago

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

#2 @foolswisdom
9 years ago

  • Milestone changed from 2.1.3 to 2.2

#3 @foolswisdom
9 years ago

  • Milestone changed from 2.2 to 2.3

9 years ago

#4 @rob1n
9 years ago

  • Keywords has-patch 2nd-opinion added
  • Owner changed from anonymous to rob1n
  • Status changed from new to assigned

Send it upstream?

#5 @rob1n
9 years ago

  • Keywords commit added; 2nd-opinion removed

#6 @rob1n
9 years ago

  • Resolution set to fixed
  • Status changed from assigned to closed

(In [5424]) Don't add port if port == 80 (default port). fixes #3993

#7 @gene1wood
6 months ago

This has been fixed upstream in Snoopy 2.0.0

Note: See TracTickets for help on using tickets.