cvs: php4 /sapi/apache2filter apache_config.c php_apache.h sapi_apache2.c

From: Date: Tue, 22 Oct 2002 12:20:12 +0000
Subject: cvs: php4 /sapi/apache2filter apache_config.c php_apache.h sapi_apache2.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-15146@lists.php.net to get a copy of this message
iliaa Tue Oct 22 08:20:12 2002 EDT Modified files: /php4/sapi/apache2filter apache_config.c php_apache.h sapi_apache2.c Log: Added support for 'engine Off' directive Added support for 'none' option for *_value options. Index: php4/sapi/apache2filter/apache_config.c diff -u php4/sapi/apache2filter/apache_config.c:1.22 php4/sapi/apache2filter/apache_config.c:1.23 --- php4/sapi/apache2filter/apache_config.c:1.22 Sat Jun 22 11:31:44 2002 +++ php4/sapi/apache2filter/apache_config.c Tue Oct 22 08:20:12 2002 @@ -53,23 +53,18 @@ { php_conf_rec *d = dummy; php_dir_entry e; - php_dir_entry *pe; - size_t str_len; phpapdebug((stderr, "Getting %s=%s for %p (%d)\n", name, value, dummy, zend_hash_num_elements(&d->config))); + + if (!strncasecmp(value, "none", sizeof("none"))) { + value = ""; + } + e.value = apr_pstrdup(cmd->pool, value); e.value_len = strlen(value); e.status = status; - str_len = strlen(name); - - if (zend_hash_find(&d->config, (char *) name, str_len + 1, (void **) &pe) == SUCCESS) { - if (pe->status > status) - return NULL; - } - - zend_hash_update(&d->config, (char *) name, strlen(name) + 1, &e, sizeof(e), - NULL); + zend_hash_update(&d->config, (char *) name, strlen(name) + 1, &e, sizeof(e), NULL); return NULL; } @@ -139,6 +134,18 @@ phpapdebug((stderr, "ADDING/OVERWRITING %s (%d vs. %d)\n", str, data->status, pe?pe->status:-1)); } return new_conf; +} + +char *get_php_config(void *conf, char *name, size_t name_len) +{ + php_conf_rec *d = conf; + php_dir_entry *pe; + + if (zend_hash_find(&d->config, name, name_len, (void **) &pe) == SUCCESS) { + return pe->value; + } + + return ""; } void apply_config(void *dummy) Index: php4/sapi/apache2filter/php_apache.h diff -u php4/sapi/apache2filter/php_apache.h:1.16 php4/sapi/apache2filter/php_apache.h:1.17 --- php4/sapi/apache2filter/php_apache.h:1.16 Mon Sep 23 14:51:34 2002 +++ php4/sapi/apache2filter/php_apache.h Tue Oct 22 08:20:12 2002 @@ -48,6 +48,7 @@ void *merge_php_config(apr_pool_t *p, void *base_conf, void *new_conf); void *create_php_config(apr_pool_t *p, char *dummy); +char *get_php_config(void *conf, char *name, size_t name_len); void apply_config(void *); extern const command_rec php_dir_cmds[]; Index: php4/sapi/apache2filter/sapi_apache2.c diff -u php4/sapi/apache2filter/sapi_apache2.c:1.88 php4/sapi/apache2filter/sapi_apache2.c:1.89 --- php4/sapi/apache2filter/sapi_apache2.c:1.88 Wed Oct 16 16:45:36 2002 +++ php4/sapi/apache2filter/sapi_apache2.c Tue Oct 22 08:20:12 2002 @@ -390,9 +390,15 @@ php_struct *ctx; apr_bucket *b; void *conf = ap_get_module_config(f->r->per_dir_config, &php4_module); + char *p = get_php_config(conf, "engine", sizeof("engine")); TSRMLS_FETCH(); if (f->r->proxyreq) { + return ap_pass_brigade(f->next, bb); + } + + /* handle situations where user turns the engine off */ + if (*p == '0') { return ap_pass_brigade(f->next, bb); }

« previous php.cvs (#15146) next »