Permalink
Browse files

Register RAW_POST_DATA even when always_populate_raw_post_data is off in

instances where content type is not known
  • Loading branch information...
1 parent c25a2f6 commit 420352d8b5320730689ac3f3772c372c78af3a74 Ilia Alshanetsky committed May 7, 2007
Showing with 22 additions and 1 deletion.
  1. +3 −1 main/php_content_types.c
  2. +19 −0 tests/basic/026.phpt
View
4 main/php_content_types.c
@@ -47,7 +47,9 @@ SAPI_API SAPI_POST_READER_FUNC(php_default_post_reader)
sapi_read_standard_form_data(TSRMLS_C);
}
- if (PG(always_populate_raw_post_data) && SG(request_info).post_data) {
+ /* For unknown content types we create HTTP_RAW_POST_DATA even if always_populate_raw_post_data off,
+ * this is in-effecient, but we need to keep doing it for BC reasons (for now) */
+ if ((PG(always_populate_raw_post_data) || NULL == SG(request_info).post_entry) && SG(request_info).post_data) {
length = SG(request_info).post_data_length;
data = estrndup(SG(request_info).post_data, length);
SET_VAR_STRINGL("HTTP_RAW_POST_DATA", data, length);
View
19 tests/basic/026.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Registration of HTTP_RAW_POST_DATA due to unknown content-type
+--INI--
+magic_quotes_gpc=0
+always_populate_raw_post_data=0
+--SKIPIF--
+<?php if (php_sapi_name()=='cli') echo 'skip'; ?>
+--POST_RAW--
+Content-Type: unknown/type
+a=1&b=ZYX
+--FILE--
+<?php
+var_dump($_POST, $HTTP_RAW_POST_DATA);
+?>
+--EXPECT--
+array(0) {
+}
+string(10) "a=1&b=ZYX
+"

0 comments on commit 420352d

Please sign in to comment.