mirror of
https://github.com/php/php-src.git
synced 2026-03-24 16:22:37 +01:00
Make zlib compile
This commit is contained in:
@@ -96,12 +96,6 @@ typedef struct zlib_global_struct{
|
||||
#endif
|
||||
int gzgetss_state;
|
||||
int le_zp;
|
||||
#if PHP_31
|
||||
int magic_quotes_runtime;
|
||||
int safe_mode;
|
||||
char *include_path;
|
||||
char *doc_root;
|
||||
#endif
|
||||
#if defined(THREAD_SAFE)
|
||||
}zlib_global_struct;
|
||||
#endif
|
||||
@@ -120,12 +114,6 @@ void *zlib_mutex;
|
||||
#define ZLIB_TLS_VARS
|
||||
#endif
|
||||
|
||||
#if PHP_31
|
||||
# define ZLIB_INI(a) ZLIB_GLOBAL(a)
|
||||
#else
|
||||
# define ZLIB_INI(a) php3_ini.a
|
||||
#endif
|
||||
|
||||
function_entry php3_zlib_functions[] = {
|
||||
{"readgzfile", php3_readgzfile, NULL},
|
||||
{"gzrewind", php3_gzrewind, NULL},
|
||||
@@ -173,12 +161,6 @@ int php3_minit_zlib(INIT_FUNC_ARGS)
|
||||
return FAILURE;
|
||||
}
|
||||
#endif
|
||||
/* get our ini variables here */
|
||||
cfg_get_long("safe_mode",&ZLIB_INI(safe_mode));
|
||||
cfg_get_long("magic_quotes_runtime",&ZLIB_INI(magic_quotes_runtime));
|
||||
cfg_get_string("doc_root",&ZLIB_INI(doc_root));
|
||||
cfg_get_string("include_path",&ZLIB_INI(include_path));
|
||||
|
||||
ZLIB_GLOBAL(le_zp) = register_list_destructors(gzclose,NULL);
|
||||
return SUCCESS;
|
||||
}
|
||||
@@ -214,11 +196,11 @@ static gzFile *php3_gzopen_with_path(char *filename, char *mode, char *path, cha
|
||||
static gzFile php3_gzopen_wrapper(char *path, char *mode, int options)
|
||||
{
|
||||
ZLIB_TLS_VARS;
|
||||
if (options & USE_PATH && ZLIB_INI(include_path) != NULL) {
|
||||
return php3_gzopen_with_path(path, mode, ZLIB_INI(include_path), NULL);
|
||||
if (options & USE_PATH && PG(include_path) != NULL) {
|
||||
return php3_gzopen_with_path(path, mode, PG(include_path), NULL);
|
||||
}
|
||||
else {
|
||||
if (options & ENFORCE_SAFE_MODE && ZLIB_INI(safe_mode) && (!_php3_checkuid(path,1))) {
|
||||
if (options & ENFORCE_SAFE_MODE && PG(safe_mode) && (!_php3_checkuid(path,1))) {
|
||||
return NULL;
|
||||
}
|
||||
if (_php3_check_open_basedir(path)) return NULL;
|
||||
@@ -244,7 +226,7 @@ static gzFile *php3_gzopen_with_path(char *filename, char *mode, char *path, cha
|
||||
|
||||
/* Relative path open */
|
||||
if (*filename == '.') {
|
||||
if (ZLIB_INI(safe_mode) &&(!_php3_checkuid(filename,2))) {
|
||||
if (PG(safe_mode) &&(!_php3_checkuid(filename,2))) {
|
||||
return(NULL);
|
||||
}
|
||||
if (_php3_check_open_basedir(filename)) return NULL;
|
||||
@@ -261,8 +243,8 @@ static gzFile *php3_gzopen_with_path(char *filename, char *mode, char *path, cha
|
||||
#else
|
||||
if (*filename == '/') {
|
||||
#endif
|
||||
if (ZLIB_INI(safe_mode)) {
|
||||
snprintf(trypath,MAXPATHLEN,"%s%s",ZLIB_INI(doc_root),filename);
|
||||
if (PG(safe_mode)) {
|
||||
snprintf(trypath,MAXPATHLEN,"%s%s",PG(doc_root),filename);
|
||||
if (!_php3_checkuid(trypath,2)) {
|
||||
return(NULL);
|
||||
}
|
||||
@@ -279,7 +261,7 @@ static gzFile *php3_gzopen_with_path(char *filename, char *mode, char *path, cha
|
||||
}
|
||||
|
||||
if (!path || (path && !*path)) {
|
||||
if (ZLIB_INI(safe_mode) &&(!_php3_checkuid(filename,2))) {
|
||||
if (PG(safe_mode) &&(!_php3_checkuid(filename,2))) {
|
||||
return(NULL);
|
||||
}
|
||||
if (_php3_check_open_basedir(filename)) return NULL;
|
||||
@@ -305,7 +287,7 @@ static gzFile *php3_gzopen_with_path(char *filename, char *mode, char *path, cha
|
||||
end++;
|
||||
}
|
||||
snprintf(trypath, MAXPATHLEN, "%s/%s", ptr, filename);
|
||||
if (ZLIB_INI(safe_mode)) {
|
||||
if (PG(safe_mode)) {
|
||||
if (stat(trypath,&sb) == 0 &&(!_php3_checkuid(trypath,2))) {
|
||||
efree(pathbuf);
|
||||
return(NULL);
|
||||
@@ -372,7 +354,7 @@ void php3_gzfile(INTERNAL_FUNCTION_PARAMETERS) {
|
||||
/* Now loop through the file and do the magic quotes thing if needed */
|
||||
memset(buf,0,8191);
|
||||
while((int)gzgets(zp, buf, 8191)) {
|
||||
if (ZLIB_INI(magic_quotes_runtime)) {
|
||||
if (PG(magic_quotes_runtime)) {
|
||||
int len;
|
||||
|
||||
slashed = _php3_addslashes(buf,0,&len,0); /* 0 = don't free source string */
|
||||
@@ -512,7 +494,7 @@ void php3_gzgets(INTERNAL_FUNCTION_PARAMETERS) {
|
||||
efree(buf);
|
||||
RETVAL_FALSE;
|
||||
} else {
|
||||
if (ZLIB_INI(magic_quotes_runtime)) {
|
||||
if (PG(magic_quotes_runtime)) {
|
||||
return_value->value.str.val = _php3_addslashes(buf,0,&return_value->value.str.len,1);
|
||||
} else {
|
||||
return_value->value.str.val = buf;
|
||||
@@ -717,7 +699,7 @@ void php3_gzwrite(INTERNAL_FUNCTION_PARAMETERS) {
|
||||
}
|
||||
|
||||
/* strip slashes only if the length wasn't specified explicitly */
|
||||
if (!arg3 && ZLIB_INI(magic_quotes_runtime)) {
|
||||
if (!arg3 && PG(magic_quotes_runtime)) {
|
||||
_php3_stripslashes(arg2->value.str.val,&num_bytes);
|
||||
}
|
||||
|
||||
@@ -911,7 +893,7 @@ void php3_gzread(INTERNAL_FUNCTION_PARAMETERS)
|
||||
return_value->value.str.len = gzread(zp, return_value->value.str.val, len);
|
||||
return_value->value.str.val[return_value->value.str.len] = 0;
|
||||
|
||||
if (ZLIB_INI(magic_quotes_runtime)) {
|
||||
if (PG(magic_quotes_runtime)) {
|
||||
return_value->value.str.val = _php3_addslashes(return_value->value.str.val,return_value->value.str.len,&return_value->value.str.len,1);
|
||||
}
|
||||
return_value->type = IS_STRING;
|
||||
|
||||
Reference in New Issue
Block a user