- fix endless loop in http_build_url() with urls like "/.foo"
[m6w6/ext-http] / http.c
diff --git a/http.c b/http.c
index 768277ca00ab1f6bd7f56e05c5c2270f5e0069b3..41456dc3f8f7ac7d5462f7963c4aab0160f0761d 100644 (file)
--- a/http.c
+++ b/http.c
@@ -39,6 +39,7 @@
 #      include "php_http_filter_api.h"
 #      include "php_http_util_object.h"
 #      include "php_http_message_object.h"
+#      include "php_http_querystring_object.h"
 #      ifndef WONKY
 #              include "php_http_response_object.h"
 #      endif
@@ -65,7 +66,7 @@ ZEND_GET_MODULE(http)
 zend_function_entry http_functions[] = {
        PHP_FE(http_test, NULL)
        PHP_FE(http_date, NULL)
-       PHP_FE(http_build_url, http_arg_pass_ref_3)
+       PHP_FE(http_build_url, http_arg_pass_ref_4)
        PHP_FE(http_negotiate_language, http_arg_pass_ref_2)
        PHP_FE(http_negotiate_charset, http_arg_pass_ref_2)
        PHP_FE(http_negotiate_content_type, http_arg_pass_ref_2)
@@ -170,6 +171,7 @@ static inline void _http_globals_init(zend_http_globals *G TSRMLS_DC)
 #ifndef HTTP_HAVE_SAPI_RTIME
        G->request_time = time(NULL);
 #endif
+       G->read_post_data = 0;
 }
 
 #define http_globals_free(g) _http_globals_free((g) TSRMLS_CC)
@@ -236,6 +238,7 @@ PHP_MINIT_FUNCTION(http)
        
        if (    (SUCCESS != PHP_MINIT_CALL(http_support))       ||
                        (SUCCESS != PHP_MINIT_CALL(http_send))          ||
+                       (SUCCESS != PHP_MINIT_CALL(http_url))           ||
 #ifdef HTTP_HAVE_CURL
                        (SUCCESS != PHP_MINIT_CALL(http_request))       ||
 #endif /* HTTP_HAVE_CURL */
@@ -250,6 +253,7 @@ PHP_MINIT_FUNCTION(http)
        if (    (SUCCESS != PHP_MINIT_CALL(http_filter))                        ||
                        (SUCCESS != PHP_MINIT_CALL(http_util_object))           ||
                        (SUCCESS != PHP_MINIT_CALL(http_message_object))        ||
+                       (SUCCESS != PHP_MINIT_CALL(http_querystring_object))||
 #      ifndef WONKY
                        (SUCCESS != PHP_MINIT_CALL(http_response_object))       ||
 #      endif /* WONKY */