From: aredridel Date: Mon, 26 Dec 2005 09:13:47 +0000 (+0000) Subject: - added X-Git-Tag: auto/ac/apache-mod_fastcgi-2_4_2-8~2 X-Git-Url: http://git.pld-linux.org/?p=packages%2Fapache1-mod_fastcgi.git;a=commitdiff_plain;h=d505af0a403f4b94ea076c0239c3428d6a43fb81 - added - NFY Changed files: apache1-mod_fastcgi-apache22.patch -> 1.1 --- diff --git a/apache1-mod_fastcgi-apache22.patch b/apache1-mod_fastcgi-apache22.patch new file mode 100644 index 0000000..925ea7c --- /dev/null +++ b/apache1-mod_fastcgi-apache22.patch @@ -0,0 +1,93 @@ +diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c +--- mod_fastcgi-2.4.2-o/mod_fastcgi.c 2005-12-25 02:45:12.000000000 -0700 ++++ mod_fastcgi-2.4.2/mod_fastcgi.c 2005-12-25 12:14:31.000000000 -0700 +@@ -2657,10 +2657,15 @@ + r->status_line = NULL; + } + ++#ifdef APACHE22 ++static authn_status check_user_authentication(request_rec *r, const char *user, const char *password) ++{ ++#else /* !APACHE22 */ + static int check_user_authentication(request_rec *r) + { +- int res, authenticated = 0; + const char *password; ++#endif ++ int res, authenticated = 0; + fcgi_request *fr; + const fcgi_dir_config * const dir_config = + (const fcgi_dir_config *)ap_get_module_config(r->per_dir_config, &fastcgi_module); +@@ -2668,9 +2673,11 @@ + if (dir_config->authenticator == NULL) + return DECLINED; + +- /* Get the user password */ ++#ifndef APACHE22 ++ /* Get the user password */ + if ((res = ap_get_basic_auth_pw(r, &password)) != OK) + return res; ++#endif /* APACHE22 */ + + res = create_fcgi_request(r, dir_config->authenticator, &fr); + if (res) +@@ -2704,6 +2711,23 @@ + goto AuthenticationFailed; + } + ++#ifdef APACHE22 ++ if (authenticated) ++ return OK; ++ ++AuthenticationFailed: ++ if (!(dir_config->authenticator_options & FCGI_AUTHORITATIVE)) ++ return AUTH_DENIED; // FIXME -- should be decline? ++ ++ /* @@@ Probably should support custom_responses */ ++ ap_note_basic_auth_failure(r); ++ ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r, ++ "FastCGI: authentication failed for user \"%s\": %s", ++ r->user, r->uri); ++ ++ return (res == OK) ? AUTH_DENIED : AUTH_GRANTED; ++ ++#else /* !APACHE22 */ + if (authenticated) + return OK; + +@@ -2722,6 +2746,7 @@ + #endif + + return (res == OK) ? HTTP_UNAUTHORIZED : res; ++#endif /* !APACHE22 */ + } + + static int check_user_authorization(request_rec *r) +@@ -2913,6 +2938,15 @@ + + #ifdef APACHE2 + ++#ifdef APACHE22 ++static const authn_provider authn_fastcgi_provider = ++{ ++ &check_password, ++ NULL, ++}; ++#endif /* APACHE22 */ ++ ++ + static void register_hooks(apr_pool_t * p) + { + /* ap_hook_pre_config(x_pre_config, NULL, NULL, APR_HOOK_MIDDLE); */ +@@ -2923,6 +2957,11 @@ + ap_hook_access_checker(check_access, NULL, NULL, APR_HOOK_MIDDLE); + ap_hook_auth_checker(check_user_authorization, NULL, NULL, APR_HOOK_MIDDLE); + ap_hook_fixups(fixups, NULL, NULL, APR_HOOK_MIDDLE); ++#ifdef APACHE22 ++ ap_register_provider(p, AUTHN_PROVIDER_GROUP, "fastcgi", "0", ++ &authn_fastcgi_provider); ++#endif /* APACHE22 */ ++ + } + + module AP_MODULE_DECLARE_DATA fastcgi_module =