]> granicus.if.org Git - php/commitdiff
fix #46005: User not consistently logged under Apache2
authorStanislav Malyshev <stas@php.net>
Wed, 17 Dec 2008 11:33:56 +0000 (11:33 +0000)
committerStanislav Malyshev <stas@php.net>
Wed, 17 Dec 2008 11:33:56 +0000 (11:33 +0000)
sapi/apache2filter/sapi_apache2.c
sapi/apache2handler/sapi_apache2.c

index 401c556b942dd28201853453ccc1cbe11216e34c..78fc41eda3c57f4ef18f0be798ea852e6bb14ff3 100644 (file)
@@ -434,6 +434,10 @@ static void php_apache_request_ctor(ap_filter_t *f, php_struct *ctx TSRMLS_DC)
        apr_table_unset(f->r->headers_out, "ETag");
        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);
 }
 
index d410b788231f7e641759074446d25eac37dc4022..440ba0b5ec8a83f8c505a9bcd279fdf0fd6d4f56 100644 (file)
@@ -471,6 +471,9 @@ static int php_apache_request_ctor(request_rec *r, php_struct *ctx TSRMLS_DC)
        apr_table_unset(r->headers_out, "ETag");
        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);
 }