summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Lerdorf <rasmus@php.net>2002-08-19 15:52:21 +0000
committerRasmus Lerdorf <rasmus@php.net>2002-08-19 15:52:21 +0000
commitf5630aa2460beab1daac2afb71d36279b9084c14 (patch)
tree1d510d4b420e1115bd3a90f40174e9c61bd6d743
parent9698d5da4542e25811233832d50ef01dbd2a40f4 (diff)
downloadphp-git-f5630aa2460beab1daac2afb71d36279b9084c14.tar.gz
Fix xbithack bug finally (see bug #16515)
-rw-r--r--sapi/apache/mod_php4.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/sapi/apache/mod_php4.c b/sapi/apache/mod_php4.c
index 2d81b78935..c6a3443ebc 100644
--- a/sapi/apache/mod_php4.c
+++ b/sapi/apache/mod_php4.c
@@ -758,13 +758,17 @@ CONST_PREFIX char *php_apache_admin_flag_handler(cmd_parms *cmd, HashTable *conf
int php_xbithack_handler(request_rec * r)
{
php_apache_info_struct *conf;
+ HashTable *per_dir_conf;
- conf = (php_apache_info_struct *) get_module_config(r->per_dir_config, &php4_module);
if (!(r->finfo.st_mode & S_IXUSR)) {
r->allowed |= (1 << METHODS) - 1;
return DECLINED;
}
- if (conf->xbithack == 0) {
+ per_dir_conf = (HashTable *) get_module_config(r->per_dir_config, &php4_module);
+ if (per_dir_conf) {
+ zend_hash_apply((HashTable *) per_dir_conf, (apply_func_t) php_apache_alter_ini_entries TSRMLS_CC);
+ }
+ if(!AP(xbithack)) {
r->allowed |= (1 << METHODS) - 1;
return DECLINED;
}