diff options
| author | Kalle Sommer Nielsen <kalle@php.net> | 2010-04-26 23:53:30 +0000 |
|---|---|---|
| committer | Kalle Sommer Nielsen <kalle@php.net> | 2010-04-26 23:53:30 +0000 |
| commit | dd8e59da8f5aafd9d77a0f1f17e5e272d09f643f (patch) | |
| tree | 6c3e808cb0300c72f869478fbbc9dea69e5cf697 /sapi | |
| parent | 3c78ad763ebb0e09ad5524ba08fa6e83feffe102 (diff) | |
| download | php-git-dd8e59da8f5aafd9d77a0f1f17e5e272d09f643f.tar.gz | |
Removed safe_mode
* Removed ini options, safe_mode*
* Removed --enable-safe-mode --with-exec-dir configure options on Unix
* Updated extensions, SAPI's and core
* php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
Diffstat (limited to 'sapi')
| -rw-r--r-- | sapi/apache/mod_php5.c | 2 | ||||
| -rw-r--r-- | sapi/apache/php_apache.c | 11 | ||||
| -rw-r--r-- | sapi/apache2filter/sapi_apache2.c | 19 | ||||
| -rw-r--r-- | sapi/apache2handler/sapi_apache2.c | 19 | ||||
| -rw-r--r-- | sapi/apache_hooks/php_apache.c | 21 | ||||
| -rw-r--r-- | sapi/nsapi/nsapi.c | 36 |
6 files changed, 47 insertions, 61 deletions
diff --git a/sapi/apache/mod_php5.c b/sapi/apache/mod_php5.c index 6b287c1a6b..25b5ef77cd 100644 --- a/sapi/apache/mod_php5.c +++ b/sapi/apache/mod_php5.c @@ -542,7 +542,7 @@ static void init_request_info(TSRMLS_D) SG(request_info).auth_password = NULL; SG(request_info).auth_digest = NULL; - if (authorization && (!PG(safe_mode) || (PG(safe_mode) && !auth_type(r)))) { + if (authorization) { char *p = getword(r->pool, &authorization, ' '); if (!strcasecmp(p, "Basic")) { tmp = uudecode(r->pool, authorization); diff --git a/sapi/apache/php_apache.c b/sapi/apache/php_apache.c index 20a5160935..2eb9277354 100644 --- a/sapi/apache/php_apache.c +++ b/sapi/apache/php_apache.c @@ -272,7 +272,7 @@ PHP_MINFO_FUNCTION(apache) env_arr = table_elts(r->headers_in); env = (table_entry *)env_arr->elts; for (i = 0; i < env_arr->nelts; ++i) { - if (env[i].key && (!PG(safe_mode) || (PG(safe_mode) && strncasecmp(env[i].key, "authorization", 13)))) { + if (env[i].key) { php_info_print_table_row(2, env[i].key, env[i].val); } } @@ -401,9 +401,7 @@ PHP_FUNCTION(apache_request_headers) env_arr = table_elts(((request_rec *) SG(server_context))->headers_in); tenv = (table_entry *)env_arr->elts; for (i = 0; i < env_arr->nelts; ++i) { - if (!tenv[i].key || - (PG(safe_mode) && - !strncasecmp(tenv[i].key, "authorization", 13))) { + if (!tenv[i].key) { continue; } if (add_assoc_string(return_value, tenv[i].key, (tenv[i].val==NULL) ? "" : tenv[i].val, 1)==FAILURE) { @@ -594,11 +592,6 @@ PHP_FUNCTION(apache_get_modules) Reset the Apache write timer */ PHP_FUNCTION(apache_reset_timeout) { - if (PG(safe_mode)) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot reset the Apache timeout in safe mode"); - RETURN_FALSE; - } - ap_reset_timeout((request_rec *)SG(server_context)); RETURN_TRUE; } diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index c9719b5ed7..2a7d5b7dd0 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -426,17 +426,16 @@ static void php_apache_request_ctor(ap_filter_t *f, php_struct *ctx TSRMLS_DC) apr_table_unset(f->r->headers_out, "Last-Modified"); apr_table_unset(f->r->headers_out, "Expires"); apr_table_unset(f->r->headers_out, "ETag"); - if (!PG(safe_mode) || (PG(safe_mode) && !ap_auth_type(f->r))) { - auth = apr_table_get(f->r->headers_in, "Authorization"); - php_handle_auth_data(auth TSRMLS_CC); - if (SG(request_info).auth_user == NULL && f->r->user) { - SG(request_info).auth_user = estrdup(f->r->user); - } - ctx->r->user = apr_pstrdup(ctx->r->pool, SG(request_info).auth_user); - } else { - SG(request_info).auth_user = NULL; - SG(request_info).auth_password = NULL; + + auth = apr_table_get(f->r->headers_in, "Authorization"); + php_handle_auth_data(auth TSRMLS_CC); + + if (SG(request_info).auth_user == NULL && f->r->user) { + SG(request_info).auth_user = estrdup(f->r->user); } + + ctx->r->user = apr_pstrdup(ctx->r->pool, SG(request_info).auth_user); + php_request_startup(TSRMLS_C); } diff --git a/sapi/apache2handler/sapi_apache2.c b/sapi/apache2handler/sapi_apache2.c index 386bef0dbc..22e879237e 100644 --- a/sapi/apache2handler/sapi_apache2.c +++ b/sapi/apache2handler/sapi_apache2.c @@ -476,17 +476,16 @@ static int php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC) apr_table_unset(r->headers_out, "Last-Modified"); apr_table_unset(r->headers_out, "Expires"); apr_table_unset(r->headers_out, "ETag"); - if (!PG(safe_mode) || (PG(safe_mode) && !ap_auth_type(r))) { - auth = apr_table_get(r->headers_in, "Authorization"); - php_handle_auth_data(auth TSRMLS_CC); - if (SG(request_info).auth_user == NULL && r->user) { - SG(request_info).auth_user = estrdup(r->user); - } - ctx->r->user = apr_pstrdup(ctx->r->pool, SG(request_info).auth_user); - } else { - SG(request_info).auth_user = NULL; - SG(request_info).auth_password = NULL; + + auth = apr_table_get(r->headers_in, "Authorization"); + php_handle_auth_data(auth TSRMLS_CC); + + if (SG(request_info).auth_user == NULL && r->user) { + SG(request_info).auth_user = estrdup(r->user); } + + ctx->r->user = apr_pstrdup(ctx->r->pool, SG(request_info).auth_user); + return php_request_startup(TSRMLS_C); } diff --git a/sapi/apache_hooks/php_apache.c b/sapi/apache_hooks/php_apache.c index 20425ba151..c0fd59ee07 100644 --- a/sapi/apache_hooks/php_apache.c +++ b/sapi/apache_hooks/php_apache.c @@ -44,7 +44,7 @@ extern module **ap_loaded_modules; static int le_apachereq; static zend_class_entry *apacherequest_class_entry; -static void apache_table_to_zval(table *, int safe_mode, zval *return_value); +static void apache_table_to_zval(table *, zval *return_value); PHP_FUNCTION(virtual); PHP_FUNCTION(apache_request_headers); @@ -567,7 +567,7 @@ PHP_FUNCTION(apache_request_headers_in) APREQ_GET_REQUEST(id, r); - apache_table_to_zval(r->headers_in, 0, return_value); + apache_table_to_zval(r->headers_in, return_value); } /* }}} */ @@ -664,7 +664,7 @@ PHP_FUNCTION(apache_request_headers_out) add_header_to_table(r->headers_out, INTERNAL_FUNCTION_PARAM_PASSTHRU); } - apache_table_to_zval(r->headers_out, 0, return_value); + apache_table_to_zval(r->headers_out, return_value); } /* }}} */ @@ -683,7 +683,7 @@ PHP_FUNCTION(apache_request_err_headers_out) add_header_to_table(r->err_headers_out, INTERNAL_FUNCTION_PARAM_PASSTHRU); } - apache_table_to_zval(r->err_headers_out, 0, return_value); + apache_table_to_zval(r->err_headers_out, return_value); } /* }}} */ @@ -1683,7 +1683,7 @@ PHP_MINFO_FUNCTION(apache) env_arr = table_elts(r->headers_in); env = (table_entry *)env_arr->elts; for (i = 0; i < env_arr->nelts; ++i) { - if (env[i].key && (!PG(safe_mode) || (PG(safe_mode) && strncasecmp(env[i].key, "authorization", 13)))) { + if (env[i].key) { php_info_print_table_row(2, env[i].key, env[i].val); } } @@ -1751,9 +1751,9 @@ PHP_FUNCTION(virtual) /* }}} */ -/* {{{ apache_table_to_zval(table *, int safe_mode, zval *return_value) +/* {{{ apache_table_to_zval(table *, zval *return_value) Fetch all HTTP request headers */ -static void apache_table_to_zval(table *t, int safe_mode, zval *return_value) +static void apache_table_to_zval(table *t, zval *return_value) { array_header *env_arr; table_entry *tenv; @@ -1763,8 +1763,7 @@ static void apache_table_to_zval(table *t, int safe_mode, zval *return_value) env_arr = table_elts(t); tenv = (table_entry *)env_arr->elts; for (i = 0; i < env_arr->nelts; ++i) { - if (!tenv[i].key || - (safe_mode && !strncasecmp(tenv[i].key, "authorization", 13))) { + if (!tenv[i].key) { continue; } if (add_assoc_string(return_value, tenv[i].key, (tenv[i].val==NULL) ? "" : tenv[i].val, 1)==FAILURE) { @@ -1789,7 +1788,7 @@ PHP_FUNCTION(apache_request_headers) return; } - apache_table_to_zval(((request_rec *)SG(server_context))->headers_in, PG(safe_mode), return_value); + apache_table_to_zval(((request_rec *)SG(server_context))->headers_in, return_value); } /* }}} */ @@ -1801,7 +1800,7 @@ PHP_FUNCTION(apache_response_headers) return; } - apache_table_to_zval(((request_rec *) SG(server_context))->headers_out, 0, return_value); + apache_table_to_zval(((request_rec *) SG(server_context))->headers_out, return_value); } /* }}} */ diff --git a/sapi/nsapi/nsapi.c b/sapi/nsapi/nsapi.c index 8d8363c01c..e2048fd98a 100644 --- a/sapi/nsapi/nsapi.c +++ b/sapi/nsapi/nsapi.c @@ -414,9 +414,7 @@ PHP_FUNCTION(nsapi_request_headers) for (i=0; i < rc->rq->headers->hsize; i++) { entry=rc->rq->headers->ht[i]; while (entry) { - if (!PG(safe_mode) || strncasecmp(entry->param->name, "authorization", 13)) { - add_assoc_string(return_value, entry->param->name, entry->param->value, 1); - } + add_assoc_string(return_value, entry->param->name, entry->param->value, 1); entry=entry->next; } } @@ -676,24 +674,22 @@ static void sapi_nsapi_register_server_variables(zval *track_vars_array TSRMLS_D for (i=0; i < rc->rq->headers->hsize; i++) { entry=rc->rq->headers->ht[i]; while (entry) { - if (!PG(safe_mode) || strncasecmp(entry->param->name, "authorization", 13)) { - if (strcasecmp(entry->param->name, "content-length")==0 || strcasecmp(entry->param->name, "content-type")==0) { - value=estrdup(entry->param->name); - pos = 0; - } else { - spprintf(&value, 0, "HTTP_%s", entry->param->name); - pos = 5; - } - if (value) { - for(p = value + pos; *p; p++) { - *p = toupper(*p); - if (*p < 'A' || *p > 'Z') { - *p = '_'; - } + if (strcasecmp(entry->param->name, "content-length")==0 || strcasecmp(entry->param->name, "content-type")==0) { + value=estrdup(entry->param->name); + pos = 0; + } else { + spprintf(&value, 0, "HTTP_%s", entry->param->name); + pos = 5; + } + if (value) { + for(p = value + pos; *p; p++) { + *p = toupper(*p); + if (*p < 'A' || *p > 'Z') { + *p = '_'; } - php_register_variable(value, entry->param->value, track_vars_array TSRMLS_CC); - efree(value); } + php_register_variable(value, entry->param->value, track_vars_array TSRMLS_CC); + efree(value); } entry=entry->next; } @@ -1033,7 +1029,7 @@ int NSAPI_PUBLIC php5_execute(pblock *pb, Session *sn, Request *rq) nsapi_php_ini_entries(NSLS_C TSRMLS_CC); - if (!PG(safe_mode)) php_handle_auth_data(pblock_findval("authorization", rq->headers) TSRMLS_CC); + php_handle_auth_data(pblock_findval("authorization", rq->headers) TSRMLS_CC); file_handle.type = ZEND_HANDLE_FILENAME; file_handle.filename = SG(request_info).path_translated; |
