#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"
#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
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));
}
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));
}
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;
zval **hsv;
zval **var;
- if (SUCCESS != zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &hsv)) {
+ if ((SUCCESS != zend_hash_find(&EG(symbol_table), "_SERVER", sizeof("_SERVER"), (void **) &hsv)) || (Z_TYPE_PP(hsv) != IS_ARRAY)) {
return NULL;
}
- if (SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void **) &var)) {
+ if ((SUCCESS != zend_hash_find(Z_ARRVAL_PP(hsv), (char *) key, key_size, (void **) &var)) || (Z_TYPE_PP(var) != IS_STRING)) {
return NULL;
}
if (check && !(Z_STRVAL_PP(var) && Z_STRLEN_PP(var))) {