edink           Fri Nov 22 05:16:37 2002 EDT

  Modified files:              (Branch: PHP_4_3)
    /php4       php.ini-dist php.ini-recommended 
    /php4/sapi/cgi      cgi_main.c 
  Log:
  MFH: Fixed bug #19207 by adding cgi.rfc2616_headers config directive.
  
  
Index: php4/php.ini-dist
diff -u php4/php.ini-dist:1.171 php4/php.ini-dist:1.171.2.1
--- php4/php.ini-dist:1.171     Mon Nov 11 08:40:30 2002
+++ php4/php.ini-dist   Fri Nov 22 05:16:36 2002
@@ -446,6 +446,14 @@
 ; Set to 1 if running under IIS.  Default is zero.
 ; fastcgi.impersonate = 1;
 
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Set to 1 if running under IIS.  Default is zero.
+;cgi.rfc2616_headers = 0 
+ 
+
 ;;;;;;;;;;;;;;;;
 ; File Uploads ;
 ;;;;;;;;;;;;;;;;
Index: php4/php.ini-recommended
diff -u php4/php.ini-recommended:1.119 php4/php.ini-recommended:1.119.2.1
--- php4/php.ini-recommended:1.119      Mon Nov 11 08:40:30 2002
+++ php4/php.ini-recommended    Fri Nov 22 05:16:36 2002
@@ -461,6 +461,14 @@
 ; Set to 1 if running under IIS.  Default is zero.
 ; fastcgi.impersonate = 1;
 
+; cgi.rfc2616_headers configuration option tells PHP what type of headers to
+; use when sending HTTP response code. If it's set 0 PHP sends Status: header that
+; is supported by Apache. When this option is set to 1 PHP will send
+; RFC2616 compliant header.
+; Set to 1 if running under IIS.  Default is zero.
+;cgi.rfc2616_headers = 0 
+
+
 ;;;;;;;;;;;;;;;;
 ; File Uploads ;
 ;;;;;;;;;;;;;;;;
Index: php4/sapi/cgi/cgi_main.c
diff -u php4/sapi/cgi/cgi_main.c:1.190.2.2 php4/sapi/cgi/cgi_main.c:1.190.2.3
--- php4/sapi/cgi/cgi_main.c:1.190.2.2  Thu Nov 14 19:33:18 2002
+++ php4/sapi/cgi/cgi_main.c    Fri Nov 22 05:16:36 2002
@@ -241,8 +241,23 @@
        int len;
        sapi_header_struct *h;
        zend_llist_position pos;
-       
-       len = sprintf(buf, "Status: %d\r\n", SG(sapi_headers).http_response_code);
+       long rfc2616_headers = 0;
+
+       /* Check wheater to send RFC2616 style headers compatible with
+        * PHP versions 4.2.3 and earlier compatible with web servers
+        * such as IIS. Default is informal CGI RFC header compatible 
+        * with Apache.
+        */
+       if (cfg_get_long("cgi.rfc2616_headers", &rfc2616_headers) == FAILURE) {
+               rfc2616_headers = 0;
+       }
+
+       if (rfc2616_headers && SG(sapi_headers).http_status_line) {
+               len = sprintf(buf, "%s\r\n", SG(sapi_headers).http_status_line);
+       } else {
+               len = sprintf(buf, "Status: %d\r\n", 
+SG(sapi_headers).http_response_code);
+       }
+
        PHPWRITE_H(buf, len);
 
        if (SG(sapi_headers).send_default_content_type) {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to