CVS update: php3

From: Date: Tue, 22 Sep 1998 14:59:56 +0000
Subject: CVS update: php3
Groups: php.dev 
Request: Send a blank email to php-dev+get-1393@lists.php.net to get a copy of this message
Date: Tuesday September 22, 1998 @ 10:59 Author: rasmus Update of /repository/php3 In directory asf:/u2/tmp/cvs-serv12964 Modified Files: fopen-wrappers.c Log Message: safe mode fixes. Should fix bug #643 Index: php3/fopen-wrappers.c diff -c php3/fopen-wrappers.c:1.49 php3/fopen-wrappers.c:1.50 *** php3/fopen-wrappers.c:1.49 Sat Sep 19 16:17:04 1998 --- php3/fopen-wrappers.c Tue Sep 22 10:59:53 1998 *************** *** 27,33 **** | Jim Winstead <jimw@php.net> | +----------------------------------------------------------------------+ */ ! /* $Id: fopen-wrappers.c,v 1.49 1998/09/19 20:17:04 rasmus Exp $ */ #ifdef THREAD_SAFE #include "tls.h" --- 27,33 ---- | Jim Winstead <jimw@php.net> | +----------------------------------------------------------------------+ */ ! /* $Id: fopen-wrappers.c,v 1.50 1998/09/22 14:59:53 rasmus Exp $ */ #ifdef THREAD_SAFE #include "tls.h" *************** *** 179,184 **** --- 179,185 ---- PHPAPI FILE *php3_fopen_wrapper(char *path, char *mode, int options, int *issock, int *socketd) { + int cm=2; /* checkuid mode: 2 = if file does not exist, check directory */ #if PHP3_URL_FOPEN if (!(options & IGNORE_URL)) { return php3_fopen_url_wrapper(path, mode, options, issock, socketd); *************** *** 188,194 **** if (options & USE_PATH && php3_ini.include_path != NULL) { return php3_fopen_with_path(path, mode, php3_ini.include_path, NULL); } else { ! if (options & ENFORCE_SAFE_MODE && php3_ini.safe_mode && (!_php3_checkuid(path, 1))) { return NULL; } if (_php3_check_open_basedir(path)) return NULL; --- 189,196 ---- if (options & USE_PATH && php3_ini.include_path != NULL) { return php3_fopen_with_path(path, mode, php3_ini.include_path, NULL); } else { ! if(!strcmp(mode,"r") || !strcmp(mode,"r+")) cm=0; ! if (options & ENFORCE_SAFE_MODE && php3_ini.safe_mode && (!_php3_checkuid(path, cm))) { return NULL; } if (_php3_check_open_basedir(path)) return NULL; *************** *** 301,314 **** char trypath[MAXPATHLEN + 1]; struct stat sb; FILE *fp; TLS_VARS; if (opened_path) { *opened_path = NULL; } /* Relative path open */ if (*filename == '.') { ! if (php3_ini.safe_mode && (!_php3_checkuid(filename, 2))) { return NULL; } if (_php3_check_open_basedir(filename)) return NULL; --- 303,318 ---- char trypath[MAXPATHLEN + 1]; struct stat sb; FILE *fp; + int cm=2; TLS_VARS; + if(!strcmp(mode,"r") || !strcmp(mode,"r+")) cm=0; if (opened_path) { *opened_path = NULL; } /* Relative path open */ if (*filename == '.') { ! if (php3_ini.safe_mode && (!_php3_checkuid(filename, cm))) { return NULL; } if (_php3_check_open_basedir(filename)) return NULL; *************** *** 330,336 **** } else { strncpy(trypath,filename,MAXPATHLEN); } ! if (!_php3_checkuid(trypath, 2)) { return NULL; } if (_php3_check_open_basedir(trypath)) return NULL; --- 334,340 ---- } else { strncpy(trypath,filename,MAXPATHLEN); } ! if (!_php3_checkuid(trypath, cm)) { return NULL; } if (_php3_check_open_basedir(trypath)) return NULL; *************** *** 345,351 **** } } if (!path || (path && !*path)) { ! if (php3_ini.safe_mode && (!_php3_checkuid(filename, 2))) { return NULL; } if (_php3_check_open_basedir(filename)) return NULL; --- 349,355 ---- } } if (!path || (path && !*path)) { ! if (php3_ini.safe_mode && (!_php3_checkuid(filename, cm))) { return NULL; } if (_php3_check_open_basedir(filename)) return NULL; *************** *** 371,377 **** } snprintf(trypath, MAXPATHLEN, "%s/%s", ptr, filename); if (php3_ini.safe_mode) { ! if (stat(trypath, &sb) == 0 && (!_php3_checkuid(trypath, 2))) { efree(pathbuf); return NULL; } --- 375,381 ---- } snprintf(trypath, MAXPATHLEN, "%s/%s", ptr, filename); if (php3_ini.safe_mode) { ! if (stat(trypath, &sb) == 0 && (!_php3_checkuid(trypath, cm))) { efree(pathbuf); return NULL; } *************** *** 879,885 **** if (options & USE_PATH) { fp = php3_fopen_with_path(path, mode, php3_ini.include_path, NULL); } else { ! if (options & ENFORCE_SAFE_MODE && php3_ini.safe_mode && (!_php3_checkuid(path, 1))) { fp = NULL; } else { if (_php3_check_open_basedir(path)) { --- 883,891 ---- if (options & USE_PATH) { fp = php3_fopen_with_path(path, mode, php3_ini.include_path, NULL); } else { ! int cm=2; ! if(!strcmp(mode,"r") || !strcmp(mode,"r+")) cm=0; ! if (options & ENFORCE_SAFE_MODE && php3_ini.safe_mode && (!_php3_checkuid(path, cm))) { fp = NULL; } else { if (_php3_check_open_basedir(path)) { -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#1393) next »