X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http.c;h=05f448f560008ddcf754c9b4c5088aca722b7ff0;hp=51d452ab47c6ddebc667425df563d34592e9e175;hb=c1cf3f178414800e4010735765ac8d727672584e;hpb=0eccfc06147e6b5559f871cd1a1332abf6a9b526 diff --git a/http.c b/http.c index 51d452a..05f448f 100644 --- a/http.c +++ b/http.c @@ -199,8 +199,17 @@ static inline void _http_globals_init(zend_http_globals *G TSRMLS_DC) #define http_globals_free(g) _http_globals_free((g) TSRMLS_CC) static inline void _http_globals_free(zend_http_globals *G TSRMLS_DC) { + if (G->request.headers) { + zend_hash_destroy(G->request.headers); + FREE_HASHTABLE(G->request.headers); + G->request.headers = NULL; + } STR_SET(G->send.content_type, NULL); STR_SET(G->send.unquoted_etag, NULL); + if (G->server_var) { + zval_ptr_dtor(&G->server_var); + G->server_var = NULL; + } } /* }}} */ @@ -238,10 +247,10 @@ PHP_INI_BEGIN() HTTP_PHP_INI_ENTRY("http.log.composite", "", PHP_INI_ALL, OnUpdateString, log.composite) HTTP_PHP_INI_ENTRY("http.request.methods.allowed", "", PHP_INI_ALL, http_update_allowed_methods, request.methods.allowed) HTTP_PHP_INI_ENTRY("http.request.methods.custom", "", PHP_INI_PERDIR|PHP_INI_SYSTEM, OnUpdateString, request.methods.custom.ini) -#ifdef ZEND_ENGINE_2 +#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL) HTTP_PHP_INI_ENTRY("http.request.datashare.cookie", "0", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.cookie) - HTTP_PHP_INI_ENTRY("http.request.datashare.dns", "0", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.dns) - HTTP_PHP_INI_ENTRY("http.request.datashare.sll", "0", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.ssl) + HTTP_PHP_INI_ENTRY("http.request.datashare.dns", "1", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.dns) + HTTP_PHP_INI_ENTRY("http.request.datashare.ssl", "0", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.ssl) HTTP_PHP_INI_ENTRY("http.request.datashare.connect", "0", PHP_INI_SYSTEM, OnUpdateBool, request.datashare.connect) #endif #ifdef HTTP_HAVE_ZLIB @@ -273,7 +282,9 @@ PHP_MINIT_FUNCTION(http) (SUCCESS != PHP_MINIT_CALL(http_url)) || #ifdef HTTP_HAVE_CURL (SUCCESS != PHP_MINIT_CALL(http_request)) || +# ifdef ZEND_ENGINE_2 (SUCCESS != PHP_MINIT_CALL(http_request_datashare)) || +# endif #endif /* HTTP_HAVE_CURL */ #ifdef HTTP_HAVE_ZLIB (SUCCESS != PHP_MINIT_CALL(http_encoding)) || @@ -313,7 +324,10 @@ PHP_MSHUTDOWN_FUNCTION(http) { UNREGISTER_INI_ENTRIES(); #ifdef HTTP_HAVE_CURL - if ( (SUCCESS != PHP_MSHUTDOWN_CALL(http_request_datashare)) || + if ( +# ifdef ZEND_ENGINE_2 + (SUCCESS != PHP_MSHUTDOWN_CALL(http_request_datashare)) || +# endif (SUCCESS != PHP_MSHUTDOWN_CALL(http_request))) { return FAILURE; } @@ -335,6 +349,9 @@ PHP_RINIT_FUNCTION(http) if ( (SUCCESS != PHP_RINIT_CALL(http_request_method)) #ifdef HTTP_HAVE_ZLIB || (SUCCESS != PHP_RINIT_CALL(http_encoding)) +#endif +#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL) + || (SUCCESS != PHP_RINIT_CALL(http_request_datashare)) #endif ) { return FAILURE; @@ -353,7 +370,10 @@ PHP_RSHUTDOWN_FUNCTION(http) #ifdef HTTP_HAVE_ZLIB || (SUCCESS != PHP_RSHUTDOWN_CALL(http_encoding)) #endif - ) { +#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL) + || (SUCCESS != PHP_RSHUTDOWN_CALL(http_request_datashare)) +#endif + ) { status = FAILURE; }