1 diff -urN mod_fastcgi-2.4.2.org/fcgi_buf.c mod_fastcgi-2.4.2/fcgi_buf.c
2 --- mod_fastcgi-2.4.2.org/fcgi_buf.c 2004-10-06 20:30:46.335894544 +0200
3 +++ mod_fastcgi-2.4.2/fcgi_buf.c 2004-10-06 21:46:02.348444768 +0200
8 - buf = (Buffer *)ap_pcalloc(p, sizeof(Buffer) + size);
9 + buf = (Buffer *)apr_pcalloc(p, sizeof(Buffer) + size);
15 int new_nalloc = (arr->nalloc <= 0) ? n : arr->nelts + n;
17 - new_elts = ap_pcalloc(arr->pool, arr->elt_size * new_nalloc);
18 + new_elts = apr_pcalloc(arr->pool, arr->elt_size * new_nalloc);
19 memcpy(new_elts, arr->elts, arr->nelts * arr->elt_size);
22 diff -urN mod_fastcgi-2.4.2.org/fcgi_config.c mod_fastcgi-2.4.2/fcgi_config.c
23 --- mod_fastcgi-2.4.2.org/fcgi_config.c 2004-10-06 20:30:46.336894330 +0200
24 +++ mod_fastcgi-2.4.2/fcgi_config.c 2004-10-06 21:46:02.353443697 +0200
26 /* Convert port number */
27 tmp = (u_short) strtol(portStr, &cvptr, 10);
28 if (*cvptr != '\0' || tmp < 1 || tmp > USHRT_MAX)
29 - return ap_pstrcat(p, "bad port number \"", portStr, "\"", NULL);
30 + return apr_pstrcat(p, "bad port number \"", portStr, "\"", NULL);
32 *port = (unsigned short) tmp;
35 tmp = strtol(txt, &ptr, 10);
38 - return ap_pstrcat(p, "\"", txt, "\" must be a positive integer", NULL);
39 + return apr_pstrcat(p, "\"", txt, "\" must be a positive integer", NULL);
42 if (tmp < min || tmp > USHRT_MAX) {
43 - return ap_psprintf(p, "\"%u\" must be >= %u and < %u", *num, min, USHRT_MAX);
44 + return apr_psprintf(p, "\"%u\" must be >= %u and < %u", *num, min, USHRT_MAX);
52 - return ap_pstrcat(p, "can't parse ", "\"", val, "\"", NULL);
53 + return apr_pstrcat(p, "can't parse ", "\"", val, "\"", NULL);
57 - return ap_psprintf(p, "\"%d\" must be >= %d", *num, min);
58 + return apr_psprintf(p, "\"%d\" must be >= %d", *num, min);
63 *num = (u_int)strtol(val, &ptr, 10);
66 - return ap_pstrcat(p, "\"", val, "\" must be a positive integer", NULL);
67 + return apr_pstrcat(p, "\"", val, "\" must be a positive integer", NULL);
69 - return ap_psprintf(p, "\"%u\" must be >= %u", *num, min);
70 + return apr_psprintf(p, "\"%u\" must be >= %u", *num, min);
75 *num = (float) strtod(val, &ptr);
78 - return ap_pstrcat(p, "\"", val, "\" is not a floating point number", NULL);
79 + return apr_pstrcat(p, "\"", val, "\" is not a floating point number", NULL);
80 if (*num < min || *num > max)
81 - return ap_psprintf(p, "\"%f\" is not between %f and %f", *num, min, max);
82 + return apr_psprintf(p, "\"%f\" is not between %f and %f", *num, min, max);
89 if (strchr(var, '=') == NULL) {
90 - *(envp + *envc) = ap_pstrcat(p, var, "=", getenv(var), NULL);
91 + *(envp + *envc) = apr_pstrcat(p, var, "=", getenv(var), NULL);
94 *(envp + *envc) = var;
99 - *array = ap_make_array(p, 10, sizeof(char*));
100 + *array = apr_array_make(p, 10, sizeof(char*));
103 - header = (const char **)ap_push_array(*array);
104 + header = (const char **)apr_array_push(*array);
105 *header = ap_getword_conf(p, arg);
107 return header ? NULL : "\"\"";
109 static const char *invalid_value(pool *p, const char *cmd, const char *id,
110 const char *opt, const char *err)
112 - return ap_psprintf(p, "%s%s%s: invalid value for %s: %s",
113 + return apr_psprintf(p, "%s%s%s: invalid value for %s: %s",
114 cmd, id ? " " : "", id ? id : "", opt, err);
118 if (mkdir(path, S_IRWXU) != 0)
121 - return ap_psprintf(tp,
122 + return apr_psprintf(tp,
123 "doesn't exist and can't be created: %s",
128 /* If we're root, we're gonna setuid/setgid so we need to chown */
129 if (geteuid() == 0 && chown(path, ap_user_id, ap_group_id) != 0) {
130 - return ap_psprintf(tp,
131 + return apr_psprintf(tp,
132 "can't chown() to the server (uid %ld, gid %ld): %s",
133 (long)ap_user_id, (long)ap_group_id, strerror(errno));
136 fcgi_user_id, fcgi_group_id);
139 - return ap_psprintf(tp,
140 + return apr_psprintf(tp,
141 "access for server (uid %ld, gid %ld) failed: %s",
142 (long)fcgi_user_id, (long)fcgi_group_id, err);
144 @@ -379,10 +379,10 @@
148 - fcgi_dynamic_dir = ap_pstrcat(p, fcgi_socket_dir, "/dynamic", NULL);
149 + fcgi_dynamic_dir = apr_pstrcat(p, fcgi_socket_dir, "/dynamic", NULL);
151 if ((err = fcgi_config_make_dir(p, fcgi_dynamic_dir)))
152 - return ap_psprintf(p, "can't create dynamic directory \"%s\": %s", fcgi_dynamic_dir, err);
153 + return apr_psprintf(p, "can't create dynamic directory \"%s\": %s", fcgi_dynamic_dir, err);
155 /* Don't step on a running server unless its OK. */
159 dp = ap_popendir(tp, fcgi_dynamic_dir);
161 - ap_destroy_pool(tp);
162 - return ap_psprintf(p, "can't open dynamic directory \"%s\": %s",
163 + apr_pool_destroy(tp);
164 + return apr_psprintf(p, "can't open dynamic directory \"%s\": %s",
165 fcgi_dynamic_dir, strerror(errno));
168 @@ -431,13 +431,13 @@
169 if (strcmp(dirp->d_name, ".") == 0 || strcmp(dirp->d_name, "..") == 0)
172 - unlink(ap_pstrcat(tp, fcgi_dynamic_dir, "/", dirp->d_name, NULL));
173 + unlink(apr_pstrcat(tp, fcgi_dynamic_dir, "/", dirp->d_name, NULL));
177 #endif /* !APACHE2 */
179 - ap_destroy_pool(tp);
180 + apr_pool_destroy(tp);
184 @@ -461,27 +461,27 @@
187 if (fcgi_socket_dir) {
188 - return ap_psprintf(tp, "%s %s: already defined as \"%s\"",
189 + return apr_psprintf(tp, "%s %s: already defined as \"%s\"",
190 name, arg, fcgi_socket_dir);
193 err = fcgi_config_set_fcgi_uid_n_gid(1);
195 - return ap_psprintf(tp, "%s %s: %s", name, arg, err);
196 + return apr_psprintf(tp, "%s %s: %s", name, arg, err);
198 if (fcgi_servers != NULL) {
199 - return ap_psprintf(tp,
200 + return apr_psprintf(tp,
201 "The %s command must preceed static FastCGI server definitions",
205 - arg_nc = ap_pstrdup(cmd->pool, arg);
206 + arg_nc = apr_pstrdup(cmd->pool, arg);
211 if (apr_filepath_merge(&arg_nc, "", arg, 0, cmd->pool))
212 - return ap_psprintf(tp, "%s %s: invalid filepath", name, arg);
213 + return apr_psprintf(tp, "%s %s: invalid filepath", name, arg);
215 arg_nc = ap_os_canonical_filename(cmd->pool, arg_nc);
217 @@ -491,22 +491,22 @@
220 if (strncmp(arg_nc, "\\\\.\\pipe\\", 9) != 0)
221 - return ap_psprintf(tp, "%s %s is invalid format",name, arg_nc);
222 + return apr_psprintf(tp, "%s %s is invalid format",name, arg_nc);
226 fcgi_socket_dir = arg_nc;
229 - fcgi_dynamic_dir = ap_pstrcat(cmd->pool, fcgi_socket_dir, "dynamic", NULL);
230 + fcgi_dynamic_dir = apr_pstrcat(cmd->pool, fcgi_socket_dir, "dynamic", NULL);
232 err = fcgi_config_make_dir(tp, fcgi_socket_dir);
234 - return ap_psprintf(tp, "%s %s: %s", name, arg_nc, err);
235 + return apr_psprintf(tp, "%s %s: %s", name, arg_nc, err);
237 err = fcgi_config_make_dynamic_dir(cmd->pool, 0);
239 - return ap_psprintf(tp, "%s %s: %s", name, arg_nc, err);
240 + return apr_psprintf(tp, "%s %s: %s", name, arg_nc, err);
245 const char *fcgi_config_set_wrapper(cmd_parms *cmd, void *dummy, const char *arg)
248 - return ap_psprintf(cmd->temp_pool,
249 + return apr_psprintf(cmd->temp_pool,
250 "the %s directive is not supported on WIN", cmd->cmd->name);
253 @@ -536,16 +536,16 @@
257 - return ap_psprintf(tp, "%s was already set to \"%s\"",
258 + return apr_psprintf(tp, "%s was already set to \"%s\"",
262 err = fcgi_config_set_fcgi_uid_n_gid(1);
264 - return ap_psprintf(tp, "%s %s: %s", name, arg, err);
265 + return apr_psprintf(tp, "%s %s: %s", name, arg, err);
267 if (fcgi_servers != NULL) {
268 - return ap_psprintf(tp,
269 + return apr_psprintf(tp,
270 "The %s command must preceed static FastCGI server definitions", name);
276 if (apr_filepath_merge(&wrapper, "", arg, 0, cmd->pool))
277 - return ap_psprintf(tp, "%s %s: invalid filepath", name, arg);
278 + return apr_psprintf(tp, "%s %s: invalid filepath", name, arg);
280 wrapper = ap_os_canonical_filename(cmd->pool, (char *) arg);
283 err = fcgi_util_check_access(tp, wrapper, NULL, X_OK, fcgi_user_id, fcgi_group_id);
286 - return ap_psprintf(tp, "%s: \"%s\" execute access for server "
287 + return apr_psprintf(tp, "%s: \"%s\" execute access for server "
288 "(uid %ld, gid %ld) failed: %s", name, wrapper,
289 (long) fcgi_user_id, (long) fcgi_group_id, err);
292 const char *option, *err;
294 /* Allocate temp storage for the array of initial environment variables */
295 - char **envp = ap_pcalloc(tp, sizeof(char *) * (MAX_INIT_ENV_VARS + 3));
296 + char **envp = apr_pcalloc(tp, sizeof(char *) * (MAX_INIT_ENV_VARS + 3));
297 unsigned int envc = 0;
300 @@ -613,11 +613,11 @@
301 return "AppClass requires a pathname!?";
303 if ((err = fcgi_config_set_fcgi_uid_n_gid(1)) != NULL)
304 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
305 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
308 if (apr_filepath_merge(&fs_path, "", fs_path, 0, p))
309 - return ap_psprintf(tp, "%s %s: invalid filepath", name, fs_path);
310 + return apr_psprintf(tp, "%s %s: invalid filepath", name, fs_path);
312 fs_path = ap_os_canonical_filename(p, fs_path);
314 @@ -631,14 +631,14 @@
315 fcgi_util_get_server_gid(cmd->server));
318 - return ap_psprintf(tp,
319 + return apr_psprintf(tp,
320 "%s: redefinition of a previously defined FastCGI "
321 "server \"%s\" with uid=%ld and gid=%ld",
322 name, fs_path, (long) fcgi_util_get_server_uid(cmd->server),
323 (long) fcgi_util_get_server_gid(cmd->server));
326 - return ap_psprintf(tp,
327 + return apr_psprintf(tp,
328 "%s: redefinition of a previously defined FastCGI server \"%s\"",
333 err = fcgi_util_fs_is_path_ok(tp, fs_path, NULL);
335 - return ap_psprintf(tp, "%s: \"%s\" %s", name, fs_path, err);
336 + return apr_psprintf(tp, "%s: \"%s\" %s", name, fs_path, err);
339 s = fcgi_util_fs_new(p);
342 SetHandleInformation(mutex, HANDLE_FLAG_INHERIT, TRUE);
344 - s->mutex_env_string = ap_psprintf(p, "_FCGI_MUTEX_=%ld", mutex);
345 + s->mutex_env_string = apr_psprintf(p, "_FCGI_MUTEX_=%ld", mutex);
351 else if (strcasecmp(option, "-user") == 0) {
353 - return ap_psprintf(tp,
354 + return apr_psprintf(tp,
355 "%s %s: the -user option isn't supported on WIN", name, fs_path);
357 s->user = ap_getword_conf(tp, &arg);
360 else if (strcasecmp(option, "-group") == 0) {
362 - return ap_psprintf(tp,
363 + return apr_psprintf(tp,
364 "%s %s: the -group option isn't supported on WIN", name, fs_path);
366 s->group = ap_getword_conf(tp, &arg);
371 - return ap_psprintf(tp, "%s %s: invalid option: %s", name, fs_path, option);
372 + return apr_psprintf(tp, "%s %s: invalid option: %s", name, fs_path, option);
376 @@ -758,12 +758,12 @@
378 if (s->group == NULL)
380 - s->group = ap_psprintf(tp, "#%ld", fcgi_util_get_server_gid(cmd->server));
381 + s->group = apr_psprintf(tp, "#%ld", fcgi_util_get_server_gid(cmd->server));
386 - s->user = ap_psprintf(p, "#%ld", fcgi_util_get_server_uid(cmd->server));
387 + s->user = apr_psprintf(p, "#%ld", fcgi_util_get_server_uid(cmd->server));
390 s->uid = ap_uname2id(s->user);
391 @@ -777,19 +777,19 @@
393 if ((err = fcgi_util_fs_set_uid_n_gid(p, s, s->uid, s->gid)))
395 - return ap_psprintf(tp,
396 + return apr_psprintf(tp,
397 "%s %s: invalid user or group: %s", name, fs_path, err);
401 if (s->socket_path != NULL && s->port != 0) {
402 - return ap_psprintf(tp,
403 + return apr_psprintf(tp,
404 "%s %s: -port and -socket are mutually exclusive options",
408 /* Move env array to a surviving pool */
409 - s->envp = (char **)ap_pcalloc(p, sizeof(char *) * (envc + 4));
410 + s->envp = (char **)apr_pcalloc(p, sizeof(char *) * (envc + 4));
411 memcpy(s->envp, envp, sizeof(char *) * envc);
413 /* Initialize process structs */
414 @@ -800,12 +800,12 @@
415 err = fcgi_util_socket_make_inet_addr(p, (struct sockaddr_in **)&s->socket_addr,
416 &s->socket_addr_len, NULL, s->port);
418 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
419 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
421 err = fcgi_util_socket_make_inet_addr(p, (struct sockaddr_in **)&s->dest_addr,
422 &s->socket_addr_len, "localhost", s->port);
424 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
425 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
428 if (s->socket_path == NULL)
430 err = fcgi_util_socket_make_domain_addr(p, (struct sockaddr_un **)&s->socket_addr,
431 &s->socket_addr_len, s->socket_path);
433 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
434 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
438 @@ -853,12 +853,12 @@
442 - return ap_pstrcat(tp, name, " requires a path and either a -socket or -host option", NULL);
443 + return apr_pstrcat(tp, name, " requires a path and either a -socket or -host option", NULL);
447 if (apr_filepath_merge(&fs_path, "", fs_path, 0, p))
448 - return ap_psprintf(tp, "%s %s: invalid filepath", name, fs_path);
449 + return apr_psprintf(tp, "%s %s: invalid filepath", name, fs_path);
451 fs_path = ap_os_canonical_filename(p, fs_path);
454 fcgi_util_get_server_gid(cmd->server));
457 - return ap_psprintf(tp,
458 + return apr_psprintf(tp,
459 "%s: redefinition of a previously defined class \"%s\" "
460 "with uid=%ld and gid=%ld",
461 name, fs_path, (long) fcgi_util_get_server_uid(cmd->server),
466 - return ap_psprintf(tp,
467 + return apr_psprintf(tp,
468 "%s: redefinition of previously defined class \"%s\"", name, fs_path);
473 else if (strcasecmp(option, "-user") == 0) {
475 - return ap_psprintf(tp,
476 + return apr_psprintf(tp,
477 "%s %s: the -user option isn't supported on WIN", name, fs_path);
479 s->user = ap_getword_conf(tp, &arg);
482 else if (strcasecmp(option, "-group") == 0) {
484 - return ap_psprintf(tp,
485 + return apr_psprintf(tp,
486 "%s %s: the -group option isn't supported on WIN", name, fs_path);
488 s->group = ap_getword_conf(tp, &arg);
493 - return ap_psprintf(tp, "%s %s: invalid option: %s", name, fs_path, option);
494 + return apr_psprintf(tp, "%s %s: invalid option: %s", name, fs_path, option);
498 @@ -949,12 +949,12 @@
500 if (s->group == NULL)
502 - s->group = ap_psprintf(tp, "#%ld", fcgi_util_get_server_gid(cmd->server));
503 + s->group = apr_psprintf(tp, "#%ld", fcgi_util_get_server_gid(cmd->server));
508 - s->user = ap_psprintf(p, "#%ld", fcgi_util_get_server_uid(cmd->server));
509 + s->user = apr_psprintf(p, "#%ld", fcgi_util_get_server_uid(cmd->server));
512 s->uid = ap_uname2id(s->user);
513 @@ -968,19 +968,19 @@
515 if ((err = fcgi_util_fs_set_uid_n_gid(p, s, s->uid, s->gid)))
517 - return ap_psprintf(tp,
518 + return apr_psprintf(tp,
519 "%s %s: invalid user or group: %s", name, fs_path, err);
523 /* Require one of -socket or -host, but not both */
524 if (s->socket_path != NULL && s->port != 0) {
525 - return ap_psprintf(tp,
526 + return apr_psprintf(tp,
527 "%s %s: -host and -socket are mutually exclusive options",
530 if (s->socket_path == NULL && s->port == 0) {
531 - return ap_psprintf(tp,
532 + return apr_psprintf(tp,
533 "%s %s: -socket or -host option missing", name, fs_path);
537 err = fcgi_util_socket_make_inet_addr(p, (struct sockaddr_in **)&s->socket_addr,
538 &s->socket_addr_len, s->host, s->port);
540 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
541 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
544 if (fcgi_socket_dir == NULL)
545 @@ -1006,7 +1006,7 @@
546 err = fcgi_util_socket_make_domain_addr(p, (struct sockaddr_un **)&s->socket_addr,
547 &s->socket_addr_len, s->socket_path);
549 - return ap_psprintf(tp, "%s %s: %s", name, fs_path, err);
550 + return apr_psprintf(tp, "%s %s: %s", name, fs_path, err);
554 @@ -1037,7 +1037,7 @@
556 /* Allocate temp storage for an initial environment */
557 unsigned int envc = 0;
558 - char **envp = (char **)ap_pcalloc(tp, sizeof(char *) * (MAX_INIT_ENV_VARS + 3));
559 + char **envp = (char **)apr_pcalloc(tp, sizeof(char *) * (MAX_INIT_ENV_VARS + 3));
561 err = ap_check_cmd_context(cmd, GLOBAL_ONLY);
563 @@ -1131,20 +1131,20 @@
567 - return ap_psprintf(tp, "%s: invalid option: %s", name, option);
568 + return apr_psprintf(tp, "%s: invalid option: %s", name, option);
572 if (dynamicProcessSlack >= dynamicMaxProcs + 1) {
573 /* the kill policy would work unexpectedly */
574 - return ap_psprintf(tp,
575 + return apr_psprintf(tp,
576 "%s: processSlack (%u) must be less than maxProcesses (%u) + 1",
577 name, dynamicProcessSlack, dynamicMaxProcs);
580 /* Move env array to a surviving pool, leave 2 extra slots for
581 * WIN32 _FCGI_MUTEX_ and _FCGI_SHUTDOWN_EVENT_ */
582 - dynamicEnvp = (char **)ap_pcalloc(p, sizeof(char *) * (envc + 4));
583 + dynamicEnvp = (char **)apr_pcalloc(p, sizeof(char *) * (envc + 4));
584 memcpy(dynamicEnvp, envp, sizeof(char *) * envc);
587 @@ -1152,7 +1152,7 @@
589 void *fcgi_config_create_dir_config(pool *p, char *dummy)
591 - fcgi_dir_config *dir_config = ap_pcalloc(p, sizeof(fcgi_dir_config));
592 + fcgi_dir_config *dir_config = apr_pcalloc(p, sizeof(fcgi_dir_config));
594 dir_config->authenticator_options = FCGI_AUTHORITATIVE;
595 dir_config->authorizer_options = FCGI_AUTHORITATIVE;
596 @@ -1171,7 +1171,7 @@
599 if (apr_filepath_merge(&auth_server, "", fs_path, 0, cmd->pool))
600 - return ap_psprintf(tp, "%s %s: invalid filepath", cmd->cmd->name, fs_path);
601 + return apr_psprintf(tp, "%s %s: invalid filepath", cmd->cmd->name, fs_path);
603 auth_server = (char *) ap_os_canonical_filename(cmd->pool, fs_path);
605 @@ -1184,11 +1184,11 @@
607 const char *err = fcgi_util_fs_is_path_ok(tp, auth_server, NULL);
609 - return ap_psprintf(tp, "%s: \"%s\" %s", cmd->cmd->name, auth_server, err);
610 + return apr_psprintf(tp, "%s: \"%s\" %s", cmd->cmd->name, auth_server, err);
613 if (compat && strcasecmp(compat, "-compat"))
614 - return ap_psprintf(cmd->temp_pool, "%s: unknown option: \"%s\"", cmd->cmd->name, compat);
615 + return apr_psprintf(cmd->temp_pool, "%s: unknown option: \"%s\"", cmd->cmd->name, compat);
617 switch((int)cmd->info) {
618 case FCGI_AUTH_TYPE_AUTHENTICATOR:
619 diff -urN mod_fastcgi-2.4.2.org/fcgi_pm.c mod_fastcgi-2.4.2/fcgi_pm.c
620 --- mod_fastcgi-2.4.2.org/fcgi_pm.c 2004-10-06 20:30:46.337894116 +0200
621 +++ mod_fastcgi-2.4.2/fcgi_pm.c 2004-10-06 21:46:02.363441555 +0200
626 - dirName = ap_pcalloc(fcgi_config_pool, dnEnd - fs->fs_path + 1);
627 + dirName = apr_pcalloc(fcgi_config_pool, dnEnd - fs->fs_path + 1);
628 dirName = memcpy(dirName, fs->fs_path, dnEnd - fs->fs_path);
630 if (chdir(dirName) < 0) {
633 SetHandleInformation(process->terminationEvent, HANDLE_FLAG_INHERIT, TRUE);
635 - termination_env_string = ap_psprintf(tp,
636 + termination_env_string = apr_psprintf(tp,
637 "_FCGI_SHUTDOWN_EVENT_=%ld", process->terminationEvent);
639 while (fs->envp[i]) i++;
641 fs->envp[i - 1] = NULL;
644 - ap_destroy_pool(tp);
645 + apr_pool_destroy(tp);
651 SetHandleInformation(process->terminationEvent, HANDLE_FLAG_INHERIT, TRUE);
653 - termination_env_string = ap_psprintf(tp,
654 + termination_env_string = apr_psprintf(tp,
655 "_FCGI_SHUTDOWN_EVENT_=%ld", process->terminationEvent);
659 "FastCGI: %s is not executable; ensure interpreted scripts have "
660 "\"#!\" as their first line",
662 - ap_destroy_pool(tp);
663 + apr_pool_destroy(tp);
668 * the arguments (if there are any).
669 * Build the command string to pass to CreateProcess.
671 - quoted_filename = ap_pstrcat(tp, "\"", fs->fs_path, "\"", NULL);
672 + quoted_filename = apr_pstrcat(tp, "\"", fs->fs_path, "\"", NULL);
673 if (interpreter && *interpreter) {
674 - pCommand = ap_pstrcat(tp, interpreter, " ", quoted_filename, NULL);
675 + pCommand = apr_pstrcat(tp, interpreter, " ", quoted_filename, NULL);
678 pCommand = quoted_filename;
680 iEnvBlockLen += strlen(termination_env_string) + 1;
681 iEnvBlockLen += strlen(fs->mutex_env_string) + 1;
683 - pEnvBlock = (char *) ap_pcalloc(tp, iEnvBlockLen);
684 + pEnvBlock = (char *) apr_pcalloc(tp, iEnvBlockLen);
689 CloseHandle(listen_handle);
692 - ap_destroy_pool(tp);
693 + apr_pool_destroy(tp);
697 @@ -1071,10 +1071,10 @@
698 s->flush = dynamicFlush;
701 - s->mutex_env_string = ap_psprintf(sp, "_FCGI_MUTEX_=%ld", mutex);
702 - s->fs_path = ap_pstrdup(sp, cjob->fs_path);
703 + s->mutex_env_string = apr_psprintf(sp, "_FCGI_MUTEX_=%ld", mutex);
704 + s->fs_path = apr_pstrdup(sp, cjob->fs_path);
706 - s->fs_path = ap_pstrdup(sp, execName);
707 + s->fs_path = apr_pstrdup(sp, execName);
709 ap_getparents(s->fs_path);
710 ap_no2slash(s->fs_path);
711 @@ -1094,7 +1094,7 @@
712 s->socket_path = fcgi_util_socket_make_path_absolute(sp, s->socket_path, 1);
714 /* Create sockaddr, prealloc it so it won't get created in tp */
715 - s->socket_addr = ap_pcalloc(sp, sizeof(struct sockaddr_un));
716 + s->socket_addr = apr_pcalloc(sp, sizeof(struct sockaddr_un));
717 err = fcgi_util_socket_make_domain_addr(tp, (struct sockaddr_un **)&s->socket_addr,
718 &s->socket_addr_len, s->socket_path);
720 @@ -1120,11 +1120,11 @@
724 - s->user = ap_pstrdup(sp, user);
725 + s->user = apr_pstrdup(sp, user);
726 s->username = s->user;
729 - s->group = ap_psprintf(sp, "%ld", (long)s->gid);
730 + s->group = apr_psprintf(sp, "%ld", (long)s->gid);
734 @@ -1137,11 +1137,11 @@
735 execName, (long)s->uid);
738 - s->user = ap_pstrdup(sp, user);
739 - s->username = ap_pstrdup(sp, pw->pw_name);
740 + s->user = apr_pstrdup(sp, user);
741 + s->username = apr_pstrdup(sp, pw->pw_name);
743 s->gid = (gid_t)atol(group);
744 - s->group = ap_pstrdup(sp, group);
745 + s->group = apr_pstrdup(sp, group);
749 @@ -1340,7 +1340,7 @@
753 - if (sp) ap_destroy_pool(sp);
754 + if (sp) apr_pool_destroy(sp);
758 @@ -1362,7 +1362,7 @@
762 - ap_destroy_pool(tp);
763 + apr_pool_destroy(tp);
767 diff -urN mod_fastcgi-2.4.2.org/fcgi_protocol.c mod_fastcgi-2.4.2/fcgi_protocol.c
768 --- mod_fastcgi-2.4.2.org/fcgi_protocol.c 2004-10-06 20:30:46.338893902 +0200
769 +++ mod_fastcgi-2.4.2/fcgi_protocol.c 2004-10-06 21:46:02.366440913 +0200
773 if (r->the_request == NULL)
774 - return (char *) ap_pcalloc(r->pool, 1);
775 + return (char *) apr_pcalloc(r->pool, 1);
777 first = r->the_request; /* use the request-line */
779 @@ -135,18 +135,18 @@
781 table *e = r->subprocess_env;
783 - ap_table_setn(e, "GATEWAY_INTERFACE", "CGI/1.1");
784 - ap_table_setn(e, "SERVER_PROTOCOL", r->protocol);
785 - ap_table_setn(e, "REQUEST_METHOD", r->method);
786 - ap_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
787 - ap_table_setn(e, "REQUEST_URI", apache_original_uri(r));
788 + apr_table_setn(e, "GATEWAY_INTERFACE", "CGI/1.1");
789 + apr_table_setn(e, "SERVER_PROTOCOL", r->protocol);
790 + apr_table_setn(e, "REQUEST_METHOD", r->method);
791 + apr_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
792 + apr_table_setn(e, "REQUEST_URI", apache_original_uri(r));
794 /* The FastCGI spec precludes sending of CONTENT_LENGTH, PATH_INFO,
795 * PATH_TRANSLATED, and SCRIPT_NAME (for some reason?). PATH_TRANSLATED we
796 * don't have, its the variable that causes Apache to break trying to set
797 * up (and thus the reason this fn exists vs. using ap_add_cgi_vars()). */
799 - ap_table_unset(e, "CONTENT_LENGTH");
800 + apr_table_unset(e, "CONTENT_LENGTH");
804 @@ -155,17 +155,17 @@
805 * args and path_info of the original request, and not any that may have
806 * come with the script URI in the include command. Ugh. */
807 if (!strcmp(r->protocol, "INCLUDED")) {
808 - ap_table_setn(e, "SCRIPT_NAME", r->uri);
809 + apr_table_setn(e, "SCRIPT_NAME", r->uri);
810 if (r->path_info && *r->path_info)
811 - ap_table_setn(e, "PATH_INFO", r->path_info);
812 + apr_table_setn(e, "PATH_INFO", r->path_info);
814 else if (!r->path_info || !*r->path_info)
815 - ap_table_setn(e, "SCRIPT_NAME", r->uri);
816 + apr_table_setn(e, "SCRIPT_NAME", r->uri);
818 int path_info_start = ap_find_path_info(r->uri, r->path_info);
820 - ap_table_setn(e, "SCRIPT_NAME", ap_pstrndup(r->pool, r->uri, path_info_start));
821 - ap_table_setn(e, "PATH_INFO", r->path_info);
822 + apr_table_setn(e, "SCRIPT_NAME", ap_pstrndup(r->pool, r->uri, path_info_start));
823 + apr_table_setn(e, "PATH_INFO", r->path_info);
830 for ( ; i; --i, ++elt) {
831 - const char *val = ap_table_get(fr->r->headers_in, *elt);
832 + const char *val = apr_table_get(fr->r->headers_in, *elt);
834 - ap_table_setn(fr->r->subprocess_env, *elt, val);
835 + apr_table_setn(fr->r->subprocess_env, *elt, val);
841 if (fr->fs_stderr == NULL)
843 - fr->fs_stderr = ap_palloc(p, FCGI_SERVER_MAX_STDERR_LINE_LEN + 1);
844 + fr->fs_stderr = apr_palloc(p, FCGI_SERVER_MAX_STDERR_LINE_LEN + 1);
847 /* We're gonna consume all thats here */
848 diff -urN mod_fastcgi-2.4.2.org/fcgi_util.c mod_fastcgi-2.4.2/fcgi_util.c
849 --- mod_fastcgi-2.4.2.org/fcgi_util.c 2004-10-06 20:30:46.339893687 +0200
850 +++ mod_fastcgi-2.4.2/fcgi_util.c 2004-10-06 21:46:02.370440056 +0200
852 fcgi_util_socket_hash_filename(pool *p, const char *path,
853 const char *user, const char *group)
855 - char *buf = ap_pstrcat(p, path, user, group, NULL);
856 + char *buf = apr_pstrcat(p, path, user, group, NULL);
858 /* Canonicalize the path (remove "//", ".", "..") */
864 - p = ap_pstrcat(a, "\\", src2, NULL);
865 + p = apr_pstrcat(a, "\\", src2, NULL);
867 else if (src1[x - 1] != '\\' && src1[x - 1] != '/') {
868 - p = ap_pstrcat(a, src1, "\\", src2, NULL);
869 + p = apr_pstrcat(a, src1, "\\", src2, NULL);
872 - p = ap_pstrcat(a, src1, src2, NULL);
873 + p = apr_pstrcat(a, src1, src2, NULL);
877 @@ -137,12 +137,12 @@
878 int socket_pathLen = strlen(socket_path);
880 if (socket_pathLen >= sizeof((*socket_addr)->sun_path)) {
881 - return ap_pstrcat(p, "path \"", socket_path,
882 + return apr_pstrcat(p, "path \"", socket_path,
883 "\" is too long for a Domain socket", NULL);
886 if (*socket_addr == NULL)
887 - *socket_addr = ap_pcalloc(p, sizeof(struct sockaddr_un));
888 + *socket_addr = apr_pcalloc(p, sizeof(struct sockaddr_un));
890 memset(*socket_addr, 0, sizeof(struct sockaddr_un));
893 int *socket_addr_len, const char *host, unsigned short port)
895 if (*socket_addr == NULL)
896 - *socket_addr = ap_pcalloc(p, sizeof(struct sockaddr_in));
897 + *socket_addr = apr_pcalloc(p, sizeof(struct sockaddr_in));
899 memset(*socket_addr, 0, sizeof(struct sockaddr_in));
902 /* Get an in_addr represention of the host */
904 if (convert_string_to_in_addr(host, &(*socket_addr)->sin_addr) != 1) {
905 - return ap_pstrcat(p, "failed to resolve \"", host,
906 + return apr_pstrcat(p, "failed to resolve \"", host,
907 "\" to exactly one IP address", NULL);
912 if (statBuf == NULL) {
913 if (stat(path, &myStatBuf) < 0)
914 - return ap_psprintf(tp, "stat(%s) failed: %s", path, strerror(errno));
915 + return apr_psprintf(tp, "stat(%s) failed: %s", path, strerror(errno));
916 statBuf = &myStatBuf;
922 /* @@@ This should now be done in the loop below */
923 - ap_cpystrn(path, ePath, FCGI_MAXPATH);
924 + apr_cpystrn(path, ePath, FCGI_MAXPATH);
927 for (s = fcgi_servers; s != NULL; s = s->next) {
929 char path[FCGI_MAXPATH];
932 - ap_cpystrn(path, ePath, FCGI_MAXPATH);
933 + apr_cpystrn(path, ePath, FCGI_MAXPATH);
936 for (s = fcgi_servers; s != NULL; s = s->next) {
937 @@ -367,21 +367,21 @@
941 - finfo = (struct stat *)ap_palloc(p, sizeof(struct stat));
942 + finfo = (struct stat *)apr_palloc(p, sizeof(struct stat));
943 if (stat(fs_path, finfo) < 0)
944 - return ap_psprintf(p, "stat(%s) failed: %s", fs_path, strerror(errno));
945 + return apr_psprintf(p, "stat(%s) failed: %s", fs_path, strerror(errno));
948 /* No Parse Header scripts aren't allowed.
949 * @@@ Well... we really could quite easily */
950 if (strncmp(strrchr(fs_path, '/'), "/nph-", 5) == 0)
951 - return ap_psprintf(p, "NPH scripts cannot be run as FastCGI");
952 + return apr_psprintf(p, "NPH scripts cannot be run as FastCGI");
954 if (finfo->st_mode == 0)
955 - return ap_psprintf(p, "script not found or unable to stat()");
956 + return apr_psprintf(p, "script not found or unable to stat()");
958 if (S_ISDIR(finfo->st_mode))
959 - return ap_psprintf(p, "script is a directory!");
960 + return apr_psprintf(p, "script is a directory!");
962 /* Let the wrapper determine what it can and can't execute */
965 err = fcgi_util_check_access(p, fs_path, finfo, X_OK, fcgi_user_id, fcgi_group_id);
968 - return ap_psprintf(p,
969 + return apr_psprintf(p,
970 "access for server (uid %ld, gid %ld) not allowed: %s",
971 (long)fcgi_user_id, (long)fcgi_group_id, err);
975 fcgi_util_fs_new(pool *p)
977 - fcgi_server *s = (fcgi_server *) ap_pcalloc(p, sizeof(fcgi_server));
978 + fcgi_server *s = (fcgi_server *) apr_pcalloc(p, sizeof(fcgi_server));
980 /* Initialize anything who's init state is not zeroizzzzed */
981 s->listenQueueDepth = FCGI_DEFAULT_LISTEN_Q;
982 @@ -462,23 +462,23 @@
986 - return ap_psprintf(p,
987 + return apr_psprintf(p,
988 "getpwuid() couldn't determine the username for uid '%ld', "
989 "you probably need to modify the User directive: %s",
990 (long)uid, strerror(errno));
992 - s->user = ap_pstrdup(p, pw->pw_name);
993 + s->user = apr_pstrdup(p, pw->pw_name);
994 s->username = s->user;
999 - return ap_psprintf(p,
1000 + return apr_psprintf(p,
1001 "getgrgid() couldn't determine the group name for gid '%ld', "
1002 "you probably need to modify the Group directive: %s",
1003 (long)gid, strerror(errno));
1005 - s->group = ap_pstrdup(p, gr->gr_name);
1006 + s->group = apr_pstrdup(p, gr->gr_name);
1011 fcgi_util_fs_create_procs(pool *p, int num)
1014 - ServerProcess *proc = (ServerProcess *)ap_pcalloc(p, sizeof(ServerProcess) * num);
1015 + ServerProcess *proc = (ServerProcess *)apr_pcalloc(p, sizeof(ServerProcess) * num);
1017 for (i = 0; i < num; i++) {
1019 diff -urN mod_fastcgi-2.4.2.org/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
1020 --- mod_fastcgi-2.4.2.org/mod_fastcgi.c 2004-10-06 20:30:46.355890260 +0200
1021 +++ mod_fastcgi-2.4.2/mod_fastcgi.c 2004-10-06 21:46:02.383437272 +0200
1024 /* Register to reset to default values when the config pool is cleaned */
1026 - ap_register_cleanup(p, NULL, fcgi_config_reset_globals, ap_null_cleanup);
1027 + apr_pool_cleanup_register(p, NULL, fcgi_config_reset_globals, apr_pool_cleanup_null);
1028 ap_unblock_alarms();
1033 if (fcgi_socket_dir == NULL)
1034 fcgi_socket_dir = DEFAULT_SOCK_DIR;
1035 - fcgi_dynamic_dir = ap_pstrcat(p, fcgi_socket_dir, "dynamic", NULL);
1036 + fcgi_dynamic_dir = apr_pstrcat(p, fcgi_socket_dir, "dynamic", NULL);
1039 if (fcgi_socket_dir == NULL)
1040 @@ -722,11 +722,11 @@
1042 if (statusValue < 0) {
1043 fr->parseHeader = SCAN_CGI_BAD_HEADER;
1044 - return ap_psprintf(r->pool, "invalid Status '%s'", value);
1045 + return apr_psprintf(r->pool, "invalid Status '%s'", value);
1048 r->status = statusValue;
1049 - r->status_line = ap_pstrdup(r->pool, value);
1050 + r->status_line = apr_pstrdup(r->pool, value);
1055 goto DuplicateNotAllowed;
1057 hasContentType = TRUE;
1058 - r->content_type = ap_pstrdup(r->pool, value);
1059 + r->content_type = apr_pstrdup(r->pool, value);
1063 @@ -750,11 +750,11 @@
1066 /* If the script wants them merged, it can do it */
1067 - ap_table_add(r->err_headers_out, name, value);
1068 + apr_table_add(r->err_headers_out, name, value);
1072 - ap_table_add(fr->authHeaders, name, value);
1073 + apr_table_add(fr->authHeaders, name, value);
1078 * Who responds, this handler or Apache?
1081 - const char *location = ap_table_get(r->headers_out, "Location");
1082 + const char *location = apr_table_get(r->headers_out, "Location");
1084 * Based on internal redirect handling in mod_cgi.c...
1086 @@ -835,11 +835,11 @@
1087 if ((p = strpbrk(name, "\r\n")) != NULL)
1089 fr->parseHeader = SCAN_CGI_BAD_HEADER;
1090 - return ap_psprintf(r->pool, "malformed header '%s'", name);
1091 + return apr_psprintf(r->pool, "malformed header '%s'", name);
1093 DuplicateNotAllowed:
1094 fr->parseHeader = SCAN_CGI_BAD_HEADER;
1095 - return ap_psprintf(r->pool, "duplicate header '%s'", name);
1096 + return apr_psprintf(r->pool, "duplicate header '%s'", name);
1100 @@ -1019,9 +1019,9 @@
1101 char *end = strchr(r->uri + 2, '/');
1104 - *user = memcpy(ap_pcalloc(r->pool, end - r->uri), r->uri + 1, end - r->uri - 1);
1105 + *user = memcpy(apr_pcalloc(r->pool, end - r->uri), r->uri + 1, end - r->uri - 1);
1107 - *user = ap_pstrdup(r->pool, r->uri + 1);
1108 + *user = apr_pstrdup(r->pool, r->uri + 1);
1112 @@ -1030,8 +1030,8 @@
1114 get_request_identity(r, &uid, &gid);
1116 - *user = ap_psprintf(r->pool, "%ld", (long) uid);
1117 - *group = ap_psprintf(r->pool, "%ld", (long) gid);
1118 + *user = apr_psprintf(r->pool, "%ld", (long) uid);
1119 + *group = apr_psprintf(r->pool, "%ld", (long) gid);
1123 @@ -1225,7 +1225,7 @@
1125 /* xxx this handle should live somewhere (see CloseHandle()s below too) */
1126 char * wait_npipe_mutex_name, * cp;
1127 - wait_npipe_mutex_name = cp = ap_pstrdup(rp, socket_path);
1128 + wait_npipe_mutex_name = cp = apr_pstrdup(rp, socket_path);
1129 while ((cp = strchr(cp, '\\'))) *cp = '/';
1131 wait_npipe_mutex = CreateMutex(NULL, FALSE, wait_npipe_mutex_name);
1132 @@ -2318,7 +2318,7 @@
1136 - ap_register_cleanup(rp, (void *)fr, cleanup, ap_null_cleanup);
1137 + apr_pool_cleanup_register(rp, (void *)fr, cleanup, apr_pool_cleanup_null);
1138 ap_unblock_alarms();
1141 @@ -2422,7 +2422,7 @@
1142 const char *fs_path;
1143 pool * const p = r->pool;
1145 - fcgi_request * const fr = (fcgi_request *)ap_pcalloc(p, sizeof(fcgi_request));
1146 + fcgi_request * const fr = (fcgi_request *)apr_pcalloc(p, sizeof(fcgi_request));
1150 @@ -2450,7 +2450,7 @@
1154 - my_finfo = (struct stat *) ap_palloc(p, sizeof(struct stat));
1155 + my_finfo = (struct stat *) apr_palloc(p, sizeof(struct stat));
1157 if (stat(fs_path, my_finfo) < 0)
1159 @@ -2476,7 +2476,7 @@
1160 fr->erBufPtr = fcgi_buf_new(p, sizeof(FCGI_EndRequestBody) + 1);
1161 fr->gotHeader = FALSE;
1162 fr->parseHeader = SCAN_CGI_READING_HEADERS;
1163 - fr->header = ap_make_array(p, 1, 1);
1164 + fr->header = apr_array_make(p, 1, 1);
1165 fr->fs_stderr = NULL;
1167 fr->readingEndRequestBody = FALSE;
1168 @@ -2531,7 +2531,7 @@
1170 static int apache_is_scriptaliased(request_rec *r)
1172 - const char *t = ap_table_get(r->notes, "alias-forced-type");
1173 + const char *t = apr_table_get(r->notes, "alias-forced-type");
1174 return t && (!strcasecmp(t, "cgi-script"));
1177 @@ -2554,9 +2554,9 @@
1180 r->method_number = M_GET;
1181 - ap_table_unset(r->headers_in, "Content-length");
1182 + apr_table_unset(r->headers_in, "Content-length");
1184 - ap_internal_redirect_handler(ap_table_get(r->headers_out, "Location"), r);
1185 + ap_internal_redirect_handler(apr_table_get(r->headers_out, "Location"), r);
1188 case SCAN_CGI_SRV_REDIRECT:
1189 @@ -2612,21 +2612,21 @@
1190 if (strncasecmp(key, "Variable-", 9) == 0)
1193 - ap_table_setn(t, key, val);
1194 + apr_table_setn(t, key, val);
1198 static int post_process_auth_passed_compat_header(table *t, const char *key, const char * const val)
1200 if (strncasecmp(key, "Variable-", 9) == 0)
1201 - ap_table_setn(t, key + 9, val);
1202 + apr_table_setn(t, key + 9, val);
1207 static int post_process_auth_failed_header(table * const t, const char * const key, const char * const val)
1209 - ap_table_setn(t, key, val);
1210 + apr_table_setn(t, key, val);
1214 @@ -2639,16 +2639,16 @@
1217 if (fr->auth_compat) {
1218 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_compat_header,
1219 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_compat_header,
1220 (void *)r->subprocess_env, fr->authHeaders, NULL);
1223 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_header,
1224 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_header,
1225 (void *)r->subprocess_env, fr->authHeaders, NULL);
1229 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_failed_header,
1230 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_failed_header,
1231 (void *)r->err_headers_out, fr->authHeaders, NULL);
1234 @@ -2679,10 +2679,10 @@
1237 /* Save the existing subprocess_env, because we're gonna muddy it up */
1238 - fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
1239 + fr->saved_subprocess_env = apr_table_copy(r->pool, r->subprocess_env);
1241 - ap_table_setn(r->subprocess_env, "REMOTE_PASSWD", password);
1242 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHENTICATOR");
1243 + apr_table_setn(r->subprocess_env, "REMOTE_PASSWD", password);
1244 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHENTICATOR");
1246 /* The FastCGI Protocol doesn't differentiate authentication */
1247 fr->role = FCGI_AUTHORIZER;
1248 @@ -2697,7 +2697,7 @@
1249 post_process_auth(fr, authenticated);
1251 /* A redirect shouldn't be allowed during the authentication phase */
1252 - if (ap_table_get(r->headers_out, "Location") != NULL) {
1253 + if (apr_table_get(r->headers_out, "Location") != NULL) {
1254 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
1255 "FastCGI: FastCgiAuthenticator \"%s\" redirected (not allowed)",
1256 dir_config->authenticator);
1257 @@ -2746,9 +2746,9 @@
1260 /* Save the existing subprocess_env, because we're gonna muddy it up */
1261 - fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
1262 + fr->saved_subprocess_env = apr_table_copy(r->pool, r->subprocess_env);
1264 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHORIZER");
1265 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHORIZER");
1267 fr->role = FCGI_AUTHORIZER;
1269 @@ -2762,7 +2762,7 @@
1270 post_process_auth(fr, authorized);
1272 /* A redirect shouldn't be allowed during the authorization phase */
1273 - if (ap_table_get(r->headers_out, "Location") != NULL) {
1274 + if (apr_table_get(r->headers_out, "Location") != NULL) {
1275 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
1276 "FastCGI: FastCgiAuthorizer \"%s\" redirected (not allowed)",
1277 dir_config->authorizer);
1278 @@ -2806,9 +2806,9 @@
1281 /* Save the existing subprocess_env, because we're gonna muddy it up */
1282 - fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
1283 + fr->saved_subprocess_env = apr_table_copy(r->pool, r->subprocess_env);
1285 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "ACCESS_CHECKER");
1286 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "ACCESS_CHECKER");
1288 /* The FastCGI Protocol doesn't differentiate access control */
1289 fr->role = FCGI_AUTHORIZER;
1290 @@ -2823,7 +2823,7 @@
1291 post_process_auth(fr, access_allowed);
1293 /* A redirect shouldn't be allowed during the access check phase */
1294 - if (ap_table_get(r->headers_out, "Location") != NULL) {
1295 + if (apr_table_get(r->headers_out, "Location") != NULL) {
1296 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
1297 "FastCGI: FastCgiAccessChecker \"%s\" redirected (not allowed)",
1298 dir_config->access_checker);