X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_api.c;h=a5ecb12ec66fbdae50e81974a144c526ddb841b0;hb=213951e5268262c6dbea4b05b852510132f3367b;hp=6f6c5d63993175d7fbc080c12461c6d64307ddf8;hpb=d4738dfa25feeba82269ac47f7f4b3054da7fe42;p=m6w6%2Fext-http diff --git a/http_api.c b/http_api.c index 6f6c5d6..a5ecb12 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" @@ -56,7 +55,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 +210,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 +249,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 +284,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;