1 diff -urN mod_fastcgi-2.4.2.org/fcgi_config.c mod_fastcgi-2.4.2/fcgi_config.c
2 --- mod_fastcgi-2.4.2.org/fcgi_config.c 2004-10-06 20:30:46.336894330 +0200
3 +++ mod_fastcgi-2.4.2/fcgi_config.c 2004-10-06 21:21:53.093913562 +0200
5 /* Convert port number */
6 tmp = (u_short) strtol(portStr, &cvptr, 10);
7 if (*cvptr != '\0' || tmp < 1 || tmp > USHRT_MAX)
8 - return ap_pstrcat(p, "bad port number \"", portStr, "\"", NULL);
9 + return apr_pstrcat(p, "bad port number \"", portStr, "\"", NULL);
11 *port = (unsigned short) tmp;
14 tmp = strtol(txt, &ptr, 10);
17 - return ap_pstrcat(p, "\"", txt, "\" must be a positive integer", NULL);
18 + return apr_pstrcat(p, "\"", txt, "\" must be a positive integer", NULL);
21 if (tmp < min || tmp > USHRT_MAX) {
26 - return ap_pstrcat(p, "can't parse ", "\"", val, "\"", NULL);
27 + return apr_pstrcat(p, "can't parse ", "\"", val, "\"", NULL);
32 *num = (u_int)strtol(val, &ptr, 10);
35 - return ap_pstrcat(p, "\"", val, "\" must be a positive integer", NULL);
36 + return apr_pstrcat(p, "\"", val, "\" must be a positive integer", NULL);
38 return ap_psprintf(p, "\"%u\" must be >= %u", *num, min);
41 *num = (float) strtod(val, &ptr);
44 - return ap_pstrcat(p, "\"", val, "\" is not a floating point number", NULL);
45 + return apr_pstrcat(p, "\"", val, "\" is not a floating point number", NULL);
46 if (*num < min || *num > max)
47 return ap_psprintf(p, "\"%f\" is not between %f and %f", *num, min, max);
52 if (strchr(var, '=') == NULL) {
53 - *(envp + *envc) = ap_pstrcat(p, var, "=", getenv(var), NULL);
54 + *(envp + *envc) = apr_pstrcat(p, var, "=", getenv(var), NULL);
57 *(envp + *envc) = var;
62 - fcgi_dynamic_dir = ap_pstrcat(p, fcgi_socket_dir, "/dynamic", NULL);
63 + fcgi_dynamic_dir = apr_pstrcat(p, fcgi_socket_dir, "/dynamic", NULL);
65 if ((err = fcgi_config_make_dir(p, fcgi_dynamic_dir)))
66 return ap_psprintf(p, "can't create dynamic directory \"%s\": %s", fcgi_dynamic_dir, err);
69 dp = ap_popendir(tp, fcgi_dynamic_dir);
71 - ap_destroy_pool(tp);
72 + apr_destroy_pool(tp);
73 return ap_psprintf(p, "can't open dynamic directory \"%s\": %s",
74 fcgi_dynamic_dir, strerror(errno));
77 if (strcmp(dirp->d_name, ".") == 0 || strcmp(dirp->d_name, "..") == 0)
80 - unlink(ap_pstrcat(tp, fcgi_dynamic_dir, "/", dirp->d_name, NULL));
81 + unlink(apr_pstrcat(tp, fcgi_dynamic_dir, "/", dirp->d_name, NULL));
87 - ap_destroy_pool(tp);
88 + apr_destroy_pool(tp);
93 fcgi_socket_dir = arg_nc;
96 - fcgi_dynamic_dir = ap_pstrcat(cmd->pool, fcgi_socket_dir, "dynamic", NULL);
97 + fcgi_dynamic_dir = apr_pstrcat(cmd->pool, fcgi_socket_dir, "dynamic", NULL);
99 err = fcgi_config_make_dir(tp, fcgi_socket_dir);
105 - return ap_pstrcat(tp, name, " requires a path and either a -socket or -host option", NULL);
106 + return apr_pstrcat(tp, name, " requires a path and either a -socket or -host option", NULL);
110 diff -urN mod_fastcgi-2.4.2.org/fcgi_pm.c mod_fastcgi-2.4.2/fcgi_pm.c
111 --- mod_fastcgi-2.4.2.org/fcgi_pm.c 2004-10-06 20:30:46.337894116 +0200
112 +++ mod_fastcgi-2.4.2/fcgi_pm.c 2004-10-06 21:21:53.103911421 +0200
114 fs->envp[i - 1] = NULL;
117 - ap_destroy_pool(tp);
118 + apr_destroy_pool(tp);
123 "FastCGI: %s is not executable; ensure interpreted scripts have "
124 "\"#!\" as their first line",
126 - ap_destroy_pool(tp);
127 + apr_destroy_pool(tp);
132 * the arguments (if there are any).
133 * Build the command string to pass to CreateProcess.
135 - quoted_filename = ap_pstrcat(tp, "\"", fs->fs_path, "\"", NULL);
136 + quoted_filename = apr_pstrcat(tp, "\"", fs->fs_path, "\"", NULL);
137 if (interpreter && *interpreter) {
138 - pCommand = ap_pstrcat(tp, interpreter, " ", quoted_filename, NULL);
139 + pCommand = apr_pstrcat(tp, interpreter, " ", quoted_filename, NULL);
142 pCommand = quoted_filename;
144 CloseHandle(listen_handle);
147 - ap_destroy_pool(tp);
148 + apr_destroy_pool(tp);
152 @@ -1340,7 +1340,7 @@
156 - if (sp) ap_destroy_pool(sp);
157 + if (sp) apr_destroy_pool(sp);
161 @@ -1362,7 +1362,7 @@
165 - ap_destroy_pool(tp);
166 + apr_destroy_pool(tp);
170 diff -urN mod_fastcgi-2.4.2.org/fcgi_protocol.c mod_fastcgi-2.4.2/fcgi_protocol.c
171 --- mod_fastcgi-2.4.2.org/fcgi_protocol.c 2004-10-06 20:30:46.338893902 +0200
172 +++ mod_fastcgi-2.4.2/fcgi_protocol.c 2004-10-06 21:21:53.106910778 +0200
173 @@ -135,18 +135,18 @@
175 table *e = r->subprocess_env;
177 - ap_table_setn(e, "GATEWAY_INTERFACE", "CGI/1.1");
178 - ap_table_setn(e, "SERVER_PROTOCOL", r->protocol);
179 - ap_table_setn(e, "REQUEST_METHOD", r->method);
180 - ap_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
181 - ap_table_setn(e, "REQUEST_URI", apache_original_uri(r));
182 + apr_table_setn(e, "GATEWAY_INTERFACE", "CGI/1.1");
183 + apr_table_setn(e, "SERVER_PROTOCOL", r->protocol);
184 + apr_table_setn(e, "REQUEST_METHOD", r->method);
185 + apr_table_setn(e, "QUERY_STRING", r->args ? r->args : "");
186 + apr_table_setn(e, "REQUEST_URI", apache_original_uri(r));
188 /* The FastCGI spec precludes sending of CONTENT_LENGTH, PATH_INFO,
189 * PATH_TRANSLATED, and SCRIPT_NAME (for some reason?). PATH_TRANSLATED we
190 * don't have, its the variable that causes Apache to break trying to set
191 * up (and thus the reason this fn exists vs. using ap_add_cgi_vars()). */
193 - ap_table_unset(e, "CONTENT_LENGTH");
194 + apr_table_unset(e, "CONTENT_LENGTH");
198 @@ -155,17 +155,17 @@
199 * args and path_info of the original request, and not any that may have
200 * come with the script URI in the include command. Ugh. */
201 if (!strcmp(r->protocol, "INCLUDED")) {
202 - ap_table_setn(e, "SCRIPT_NAME", r->uri);
203 + apr_table_setn(e, "SCRIPT_NAME", r->uri);
204 if (r->path_info && *r->path_info)
205 - ap_table_setn(e, "PATH_INFO", r->path_info);
206 + apr_table_setn(e, "PATH_INFO", r->path_info);
208 else if (!r->path_info || !*r->path_info)
209 - ap_table_setn(e, "SCRIPT_NAME", r->uri);
210 + apr_table_setn(e, "SCRIPT_NAME", r->uri);
212 int path_info_start = ap_find_path_info(r->uri, r->path_info);
214 - ap_table_setn(e, "SCRIPT_NAME", ap_pstrndup(r->pool, r->uri, path_info_start));
215 - ap_table_setn(e, "PATH_INFO", r->path_info);
216 + apr_table_setn(e, "SCRIPT_NAME", ap_pstrndup(r->pool, r->uri, path_info_start));
217 + apr_table_setn(e, "PATH_INFO", r->path_info);
224 for ( ; i; --i, ++elt) {
225 - const char *val = ap_table_get(fr->r->headers_in, *elt);
226 + const char *val = apr_table_get(fr->r->headers_in, *elt);
228 - ap_table_setn(fr->r->subprocess_env, *elt, val);
229 + apr_table_setn(fr->r->subprocess_env, *elt, val);
235 if (fr->fs_stderr == NULL)
237 - fr->fs_stderr = ap_palloc(p, FCGI_SERVER_MAX_STDERR_LINE_LEN + 1);
238 + fr->fs_stderr = apr_palloc(p, FCGI_SERVER_MAX_STDERR_LINE_LEN + 1);
241 /* We're gonna consume all thats here */
242 diff -urN mod_fastcgi-2.4.2.org/fcgi_util.c mod_fastcgi-2.4.2/fcgi_util.c
243 --- mod_fastcgi-2.4.2.org/fcgi_util.c 2004-10-06 20:30:46.339893687 +0200
244 +++ mod_fastcgi-2.4.2/fcgi_util.c 2004-10-06 21:21:53.110909921 +0200
246 fcgi_util_socket_hash_filename(pool *p, const char *path,
247 const char *user, const char *group)
249 - char *buf = ap_pstrcat(p, path, user, group, NULL);
250 + char *buf = apr_pstrcat(p, path, user, group, NULL);
252 /* Canonicalize the path (remove "//", ".", "..") */
258 - p = ap_pstrcat(a, "\\", src2, NULL);
259 + p = apr_pstrcat(a, "\\", src2, NULL);
261 else if (src1[x - 1] != '\\' && src1[x - 1] != '/') {
262 - p = ap_pstrcat(a, src1, "\\", src2, NULL);
263 + p = apr_pstrcat(a, src1, "\\", src2, NULL);
266 - p = ap_pstrcat(a, src1, src2, NULL);
267 + p = apr_pstrcat(a, src1, src2, NULL);
272 int socket_pathLen = strlen(socket_path);
274 if (socket_pathLen >= sizeof((*socket_addr)->sun_path)) {
275 - return ap_pstrcat(p, "path \"", socket_path,
276 + return apr_pstrcat(p, "path \"", socket_path,
277 "\" is too long for a Domain socket", NULL);
281 /* Get an in_addr represention of the host */
283 if (convert_string_to_in_addr(host, &(*socket_addr)->sin_addr) != 1) {
284 - return ap_pstrcat(p, "failed to resolve \"", host,
285 + return apr_pstrcat(p, "failed to resolve \"", host,
286 "\" to exactly one IP address", NULL);
292 /* @@@ This should now be done in the loop below */
293 - ap_cpystrn(path, ePath, FCGI_MAXPATH);
294 + apr_cpystrn(path, ePath, FCGI_MAXPATH);
297 for (s = fcgi_servers; s != NULL; s = s->next) {
299 char path[FCGI_MAXPATH];
302 - ap_cpystrn(path, ePath, FCGI_MAXPATH);
303 + apr_cpystrn(path, ePath, FCGI_MAXPATH);
306 for (s = fcgi_servers; s != NULL; s = s->next) {
311 - finfo = (struct stat *)ap_palloc(p, sizeof(struct stat));
312 + finfo = (struct stat *)apr_palloc(p, sizeof(struct stat));
313 if (stat(fs_path, finfo) < 0)
314 return ap_psprintf(p, "stat(%s) failed: %s", fs_path, strerror(errno));
316 diff -urN mod_fastcgi-2.4.2.org/mod_fastcgi.c mod_fastcgi-2.4.2/mod_fastcgi.c
317 --- mod_fastcgi-2.4.2.org/mod_fastcgi.c 2004-10-06 20:30:46.355890260 +0200
318 +++ mod_fastcgi-2.4.2/mod_fastcgi.c 2004-10-06 21:21:53.124906923 +0200
321 /* Register to reset to default values when the config pool is cleaned */
323 - ap_register_cleanup(p, NULL, fcgi_config_reset_globals, ap_null_cleanup);
324 + ap_register_cleanup(p, NULL, fcgi_config_reset_globals, apr_pool_cleanup_null);
330 if (fcgi_socket_dir == NULL)
331 fcgi_socket_dir = DEFAULT_SOCK_DIR;
332 - fcgi_dynamic_dir = ap_pstrcat(p, fcgi_socket_dir, "dynamic", NULL);
333 + fcgi_dynamic_dir = apr_pstrcat(p, fcgi_socket_dir, "dynamic", NULL);
336 if (fcgi_socket_dir == NULL)
338 * Who responds, this handler or Apache?
341 - const char *location = ap_table_get(r->headers_out, "Location");
342 + const char *location = apr_table_get(r->headers_out, "Location");
344 * Based on internal redirect handling in mod_cgi.c...
346 @@ -2318,7 +2318,7 @@
350 - ap_register_cleanup(rp, (void *)fr, cleanup, ap_null_cleanup);
351 + ap_register_cleanup(rp, (void *)fr, cleanup, apr_pool_cleanup_null);
355 @@ -2450,7 +2450,7 @@
359 - my_finfo = (struct stat *) ap_palloc(p, sizeof(struct stat));
360 + my_finfo = (struct stat *) apr_palloc(p, sizeof(struct stat));
362 if (stat(fs_path, my_finfo) < 0)
364 @@ -2531,7 +2531,7 @@
366 static int apache_is_scriptaliased(request_rec *r)
368 - const char *t = ap_table_get(r->notes, "alias-forced-type");
369 + const char *t = apr_table_get(r->notes, "alias-forced-type");
370 return t && (!strcasecmp(t, "cgi-script"));
373 @@ -2554,9 +2554,9 @@
376 r->method_number = M_GET;
377 - ap_table_unset(r->headers_in, "Content-length");
378 + apr_table_unset(r->headers_in, "Content-length");
380 - ap_internal_redirect_handler(ap_table_get(r->headers_out, "Location"), r);
381 + ap_internal_redirect_handler(apr_table_get(r->headers_out, "Location"), r);
384 case SCAN_CGI_SRV_REDIRECT:
385 @@ -2612,21 +2612,21 @@
386 if (strncasecmp(key, "Variable-", 9) == 0)
389 - ap_table_setn(t, key, val);
390 + apr_table_setn(t, key, val);
394 static int post_process_auth_passed_compat_header(table *t, const char *key, const char * const val)
396 if (strncasecmp(key, "Variable-", 9) == 0)
397 - ap_table_setn(t, key + 9, val);
398 + apr_table_setn(t, key + 9, val);
403 static int post_process_auth_failed_header(table * const t, const char * const key, const char * const val)
405 - ap_table_setn(t, key, val);
406 + apr_table_setn(t, key, val);
410 @@ -2639,16 +2639,16 @@
413 if (fr->auth_compat) {
414 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_compat_header,
415 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_compat_header,
416 (void *)r->subprocess_env, fr->authHeaders, NULL);
419 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_header,
420 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_passed_header,
421 (void *)r->subprocess_env, fr->authHeaders, NULL);
425 - ap_table_do((int (*)(void *, const char *, const char *))post_process_auth_failed_header,
426 + apr_table_do((int (*)(void *, const char *, const char *))post_process_auth_failed_header,
427 (void *)r->err_headers_out, fr->authHeaders, NULL);
430 @@ -2681,8 +2681,8 @@
431 /* Save the existing subprocess_env, because we're gonna muddy it up */
432 fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
434 - ap_table_setn(r->subprocess_env, "REMOTE_PASSWD", password);
435 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHENTICATOR");
436 + apr_table_setn(r->subprocess_env, "REMOTE_PASSWD", password);
437 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHENTICATOR");
439 /* The FastCGI Protocol doesn't differentiate authentication */
440 fr->role = FCGI_AUTHORIZER;
441 @@ -2697,7 +2697,7 @@
442 post_process_auth(fr, authenticated);
444 /* A redirect shouldn't be allowed during the authentication phase */
445 - if (ap_table_get(r->headers_out, "Location") != NULL) {
446 + if (apr_table_get(r->headers_out, "Location") != NULL) {
447 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
448 "FastCGI: FastCgiAuthenticator \"%s\" redirected (not allowed)",
449 dir_config->authenticator);
450 @@ -2748,7 +2748,7 @@
451 /* Save the existing subprocess_env, because we're gonna muddy it up */
452 fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
454 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHORIZER");
455 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "AUTHORIZER");
457 fr->role = FCGI_AUTHORIZER;
459 @@ -2762,7 +2762,7 @@
460 post_process_auth(fr, authorized);
462 /* A redirect shouldn't be allowed during the authorization phase */
463 - if (ap_table_get(r->headers_out, "Location") != NULL) {
464 + if (apr_table_get(r->headers_out, "Location") != NULL) {
465 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
466 "FastCGI: FastCgiAuthorizer \"%s\" redirected (not allowed)",
467 dir_config->authorizer);
468 @@ -2808,7 +2808,7 @@
469 /* Save the existing subprocess_env, because we're gonna muddy it up */
470 fr->saved_subprocess_env = ap_copy_table(r->pool, r->subprocess_env);
472 - ap_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "ACCESS_CHECKER");
473 + apr_table_setn(r->subprocess_env, "FCGI_APACHE_ROLE", "ACCESS_CHECKER");
475 /* The FastCGI Protocol doesn't differentiate access control */
476 fr->role = FCGI_AUTHORIZER;
477 @@ -2823,7 +2823,7 @@
478 post_process_auth(fr, access_allowed);
480 /* A redirect shouldn't be allowed during the access check phase */
481 - if (ap_table_get(r->headers_out, "Location") != NULL) {
482 + if (apr_table_get(r->headers_out, "Location") != NULL) {
483 ap_log_rerror(FCGI_LOG_ERR_NOERRNO, r,
484 "FastCGI: FastCgiAccessChecker \"%s\" redirected (not allowed)",
485 dir_config->access_checker);