]> git.pld-linux.org Git - packages/apache-mod_fastcgi.git/blobdiff - apache-mod_fastcgi-apache22.patch
Add patch to compile with Apache 2.4
[packages/apache-mod_fastcgi.git] / apache-mod_fastcgi-apache22.patch
index 925ea7c5422aac95bf10d53ab5a55a01b81aebe1..9cb8339c5cd1ea61178db8b05f53f6b7e6381709 100644 (file)
@@ -1,7 +1,18 @@
-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 @@
+diff -Nur mod_fastcgi-2.4.6.orig/mod_fastcgi.c mod_fastcgi-2.4.6.apache22/mod_fastcgi.c
+--- mod_fastcgi-2.4.6.orig/mod_fastcgi.c       2007-12-28 21:00:46.000000000 -0700
++++ mod_fastcgi-2.4.6.apache22/mod_fastcgi.c   2007-12-28 21:00:58.000000000 -0700
+@@ -82,6 +82,10 @@
+ #include "unixd.h"
++#ifdef APACHE22
++#include "mod_auth.h"
++#endif
++
+ #endif
+ #endif
+@@ -2697,10 +2701,15 @@
      r->status_line = NULL;
  }
  
@@ -18,7 +29,7 @@ diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
      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 @@
+@@ -2708,9 +2717,11 @@
      if (dir_config->authenticator == NULL)
          return DECLINED;
  
@@ -31,18 +42,15 @@ diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
  
      res = create_fcgi_request(r, dir_config->authenticator, &fr);
      if (res)
-@@ -2704,6 +2711,23 @@
+@@ -2744,6 +2755,20 @@
          goto AuthenticationFailed;
      }
  
 +#ifdef APACHE22
 +    if (authenticated)
-+        return OK;
++        return AUTH_GRANTED;
 +
 +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,
@@ -55,7 +63,7 @@ diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
      if (authenticated)
          return OK;
  
-@@ -2722,6 +2746,7 @@
+@@ -2762,6 +2787,7 @@
  #endif
  
          return (res == OK) ? HTTP_UNAUTHORIZED : res;
@@ -63,14 +71,14 @@ diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
  }
  
  static int check_user_authorization(request_rec *r)
-@@ -2913,6 +2938,15 @@
+@@ -2955,16 +2981,31 @@
  
  #ifdef APACHE2
  
 +#ifdef APACHE22
 +static const authn_provider authn_fastcgi_provider =
 +{
-+    &check_password,
++    &check_user_authentication,
 +              NULL,
 +};
 +#endif /* APACHE22 */
@@ -79,14 +87,19 @@ diff -ur mod_fastcgi-2.4.2-o/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
  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_post_config(init_module, NULL, NULL, APR_HOOK_MIDDLE);
+     ap_hook_child_init(fcgi_child_init, NULL, NULL, APR_HOOK_MIDDLE);
+     ap_hook_handler(content_handler, NULL, NULL, APR_HOOK_MIDDLE);
+-    ap_hook_check_user_id(check_user_authentication, NULL, NULL, APR_HOOK_MIDDLE);
      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 */
++#else
++    ap_hook_check_user_id(check_user_authentication, NULL, NULL, APR_HOOK_MIDDLE);
++#endif
 +
  }
  
This page took 0.163239 seconds and 4 git commands to generate.