X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_api.c;h=07cb9f4dbced71aadc65962c5735266befb3c248;hp=6f6c5d63993175d7fbc080c12461c6d64307ddf8;hb=7b88d9022c90eb12e5fe195af8644935141c9d68;hpb=d4738dfa25feeba82269ac47f7f4b3054da7fe42 diff --git a/http_api.c b/http_api.c index 6f6c5d6..07cb9f4 100644 --- a/http_api.c +++ b/http_api.c @@ -21,7 +21,6 @@ #include "SAPI.h" #include "php_output.h" #include "ext/standard/url.h" -#include "ext/standard/head.h" #include "php_http_api.h" #include "php_http_send_api.h" @@ -30,8 +29,6 @@ # include "php_http_exception_object.h" #endif -ZEND_EXTERN_MODULE_GLOBALS(http); - PHP_MINIT_FUNCTION(http_support) { HTTP_LONG_CONSTANT("HTTP_SUPPORT", HTTP_SUPPORT); @@ -56,7 +53,7 @@ PHP_HTTP_API long _http_support(long feature) #ifdef HTTP_HAVE_MAGIC support |= HTTP_SUPPORT_MAGICMIME; #endif -#if defined(HTTP_HAVE_ZLIB) || defined(HAVE_ZLIB) +#ifdef HTTP_HAVE_ZLIB support |= HTTP_SUPPORT_ENCODINGS; #endif @@ -211,6 +208,8 @@ void _http_log_ex(char *file, const char *ident, const char *message TSRMLS_DC) struct tm nowtm; char datetime[128]; + HTTP_CHECK_OPEN_BASEDIR(file, return); + time(&now); strftime(datetime, sizeof(datetime), "%Y-%m-%d %H:%M:%S", php_localtime_r(&now, &nowtm)); @@ -248,7 +247,7 @@ STATUS _http_exit_ex(int status, char *header, char *body, zend_bool send_header } php_end_ob_buffers(0 TSRMLS_CC); - if (php_header(TSRMLS_C) && body) { + if ((SUCCESS == sapi_send_headers(TSRMLS_C)) && body) { PHPWRITE(body, strlen(body)); } @@ -283,7 +282,7 @@ STATUS _http_check_method_ex(const char *method, const char *methods) if ( (found = strstr(methods, method)) && (found == method || !isalpha(found[-1])) && - (!isalpha(found[strlen(method) + 1]))) { + (strlen(found) >= strlen(method) && !isalpha(found[strlen(method)]))) { return SUCCESS; } return FAILURE;