diff options
author | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-05-13 19:33:36 +0000 |
---|---|---|
committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2003-05-13 19:33:36 +0000 |
commit | e54919d230b369529a3dbf412044f386c0b5fac3 (patch) | |
tree | 76bab75f9ea101f455bbb4c1ccb86b8eee2d1a99 /sapi | |
parent | 2c7c0457b68fd8ee7a4232a28656682a29f03372 (diff) | |
download | php-git-e54919d230b369529a3dbf412044f386c0b5fac3.tar.gz |
Fixed bug #23610
Diffstat (limited to 'sapi')
-rw-r--r-- | sapi/apache2filter/sapi_apache2.c | 14 | ||||
-rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 13 |
2 files changed, 26 insertions, 1 deletions
diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index f1f0e9365d..3df022b343 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -224,6 +224,12 @@ php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC) APR_ARRAY_FOREACH_CLOSE() php_register_variable("PHP_SELF", ctx->r->uri, track_vars_array TSRMLS_CC); + + /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */ + if (!zend_hash_exists(Z_ARRVAL_P(track_vars_array), "PATH_TRANSLATED", sizeof("PATH_TRANSLATED")) + && zend_hash_find(Z_ARRVAL_P(track_vars_array), "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME"), (void **) &path_translated_zv) == SUCCESS) { + php_register_variable("PATH_TRANSLATED", Z_STRVAL_PP(path_translated_zv), track_vars_array TSRMLS_CC); + } } static void @@ -396,7 +402,15 @@ static void php_apache_request_ctor(ap_filter_t *f, php_struct *ctx TSRMLS_DC) apr_table_unset(f->r->headers_out, "Expires"); apr_table_unset(f->r->headers_out, "ETag"); apr_table_unset(f->r->headers_in, "Connection"); +<<<<<<< sapi_apache2.c +<<<<<<< sapi_apache2.c + if (!PG(safe_mode) || (PG(safe_mode) && ap_auth_type() == NULL)) { +======= + if (!PG(safe_mode) || (PG(safe_mode) && !ap_auth_type(r))) { +>>>>>>> 1.109 +======= if (!PG(safe_mode) || (PG(safe_mode) && !ap_auth_type(f->r))) { +>>>>>>> 1.110 auth = apr_table_get(f->r->headers_in, "Authorization"); php_handle_auth_data(auth TSRMLS_CC); } else { diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 0abd1e20b3..5734d06c03 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -227,13 +227,20 @@ php_apache_sapi_register_variables(zval *track_vars_array TSRMLS_DC) php_struct *ctx = SG(server_context); const apr_array_header_t *arr = apr_table_elts(ctx->r->subprocess_env); char *key, *val; - + zval **path_translated_zv; + APR_ARRAY_FOREACH_OPEN(arr, key, val) if (!val) val = empty_string; php_register_variable(key, val, track_vars_array TSRMLS_CC); APR_ARRAY_FOREACH_CLOSE() php_register_variable("PHP_SELF", ctx->r->uri, track_vars_array TSRMLS_CC); + + /* If PATH_TRANSLATED doesn't exist, copy it from SCRIPT_FILENAME */ + if (!zend_hash_exists(Z_ARRVAL_P(track_vars_array), "PATH_TRANSLATED", sizeof("PATH_TRANSLATED")) + && zend_hash_find(Z_ARRVAL_P(track_vars_array), "SCRIPT_FILENAME", sizeof("SCRIPT_FILENAME"), (void **) &path_translated_zv) == SUCCESS) { + php_register_variable("PATH_TRANSLATED", Z_STRVAL_PP(path_translated_zv), track_vars_array TSRMLS_CC); + } } static void @@ -424,7 +431,11 @@ static void php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC) apr_table_unset(r->headers_out, "Expires"); apr_table_unset(r->headers_out, "ETag"); apr_table_unset(r->headers_in, "Connection"); +<<<<<<< sapi_apache2.c + if (!PG(safe_mode) || (PG(safe_mode) && ap_auth_type() == NULL)) { +======= if (!PG(safe_mode) || (PG(safe_mode) && !ap_auth_type(r))) { +>>>>>>> 1.15 auth = apr_table_get(r->headers_in, "Authorization"); php_handle_auth_data(auth TSRMLS_CC); ctx->r->user = apr_pstrdup(ctx->r->pool, SG(request_info).auth_user); |