]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/Running_on_an_alternative_port_fails.mdwn
unconfuse
[git.ikiwiki.info.git] / doc / bugs / Running_on_an_alternative_port_fails.mdwn
index 864c99fed388ff1a81920a721b5f984114973c86..942700ba3ec30b8801bb075e038cf7a7505dc315 100644 (file)
@@ -55,3 +55,39 @@ right.
 number from the `Host:` header.  That can be fixed.
 
 >>>>> Thanks for the assist. -- fergus
+
+---
+
+Patch for `thttpd-2.25b` for posterity and completeness
+
+[[!format patch """
+
+diff --git a/libhttpd.c b/libhttpd.c
+index 73689be..039b7e3 100644
+--- a/libhttpd.c
++++ b/libhttpd.c
+@@ -2074,9 +2074,6 @@ httpd_parse_request( httpd_conn* hc )
+               cp = &buf[5];
+               cp += strspn( cp, " \t" );
+               hc->hdrhost = cp;
+-              cp = strchr( hc->hdrhost, ':' );
+-              if ( cp != (char*) 0 )
+-                  *cp = '\0';
+               if ( strchr( hc->hdrhost, '/' ) != (char*) 0 || hc->hdrhost[0] == '.' )
+                   {
+                   httpd_send_err( hc, 400, httpd_err400title, "", httpd_err400form, "" );
+
+"""]]
+
+-- fergus
+
+---
+
+I've gone ahead and filed a bug on CGI.pm too:
+<https://rt.cpan.org/Ticket/Display.html?id=72678> --[[Joey]] 
+
+---
+
+That'll be an interesting discussion as I'd suggest that HTTP_ headers are defined in the CGI specification as client headers and thus what `thttpd` is doing is wrong (i.e. mangling the client's own representation).  Whether a CGI client should trust HTTP_ header over the server is probably already settled by convention.
+
+-- fergus