Patch by Niko Tyni for perl-CGI-SpeedyCGI >= 2.22, which fixes the broken Apache 2.2 compatibility by APR_BRIGADE_FOREACH macro removal and renaming apr_filename_of_pathname(). Further information: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=393017 --- CGI-SpeedyCGI-2.22/src/mod_speedycgi2.c 2003-10-07 06:03:48.000000000 +0200 +++ CGI-SpeedyCGI-2.22/src/mod_speedycgi2.c.brigade_foreach 2008-05-04 20:40:30.000000000 +0200 @@ -340,7 +340,10 @@ const char *buf; apr_size_t len; apr_status_t rv; - APR_BRIGADE_FOREACH(e, bb) { + for (e = APR_BRIGADE_FIRST(bb); + e != APR_BRIGADE_SENTINEL(bb); + e = APR_BUCKET_NEXT(e)) { + if (APR_BUCKET_IS_EOS(e)) { break; } @@ -380,7 +383,7 @@ return DECLINED; } - argv0 = apr_filename_of_pathname(r->filename); + argv0 = apr_filepath_name_get(r->filename); nph = !(strncmp(argv0, "nph-", 4)); if (!(ap_allow_options(r) & OPT_EXECCGI) && !is_scriptaliased(r)) @@ -436,7 +439,7 @@ if ((rv = default_build_command(&command, &argv, r, p)) != APR_SUCCESS) { ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r, "don't know how to spawn child process: %s", - apr_filename_of_pathname(r->filename)); + apr_filepath_name_get(r->filename)); return HTTP_INTERNAL_SERVER_ERROR; } @@ -445,7 +448,7 @@ command, argv, r, p)) != APR_SUCCESS) { ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r, "couldn't spawn child process: %s", - apr_filename_of_pathname(r->filename)); + apr_filepath_name_get(r->filename)); return HTTP_INTERNAL_SERVER_ERROR; } @@ -465,7 +468,9 @@ return rv; } - APR_BRIGADE_FOREACH(bucket, bb) { + for (bucket = APR_BRIGADE_FIRST(bb); + bucket != APR_BRIGADE_SENTINEL(bb); + bucket = APR_BUCKET_NEXT(bucket)) { const char *data; apr_size_t len;