dgaudet 97/07/20 11:24:28
Modified: src Tag: APACHE_1_2_X CHANGES mod_include.c
Log:
fixup of mod_include logging
Reviewed by: Jim Jagielski, Dean Gaudet
Submitted by: Marc Slemko
PR: 797
Revision Changes Path
No revision
No revision
1.286.2.30 +3 -0 apache/src/CHANGES
Index: CHANGES
===================================================================
RCS file: /export/home/cvs/apache/src/CHANGES,v
retrieving revision 1.286.2.29
retrieving revision 1.286.2.30
diff -C3 -r1.286.2.29 -r1.286.2.30
*** CHANGES 1997/07/20 18:22:02 1.286.2.29
--- CHANGES 1997/07/20 18:24:24 1.286.2.30
***************
*** 1,5 ****
--- 1,8 ----
Changes with Apache 1.2.2
+ *) mod_include would log some bogus values occasionally.
+ [Skip Montanaro <[EMAIL PROTECTED]>, Marc Slemko] PR#797
+
*) PORT: The slack fd changes in 1.2.1 introduced a problem with SIGHUP
under Solaris 2.x (up through 2.5.1). It has been fixed.
[Dean Gaudet] PR#832
1.33.2.4 +40 -36 apache/src/mod_include.c
Index: mod_include.c
===================================================================
RCS file: /export/home/cvs/apache/src/mod_include.c,v
retrieving revision 1.33.2.3
retrieving revision 1.33.2.4
diff -C3 -r1.33.2.3 -r1.33.2.4
*** mod_include.c 1997/06/28 22:01:42 1.33.2.3
--- mod_include.c 1997/07/20 18:24:25 1.33.2.4
***************
*** 458,464 ****
var[vlen] = vtext[vtlen] = '\0';
if (braces == 1) {
if (*in != '}') {
! log_printf(r->server, "Invalid variable %s%s",
vtext,in);
*next = '\0';
return;
} else
--- 458,464 ----
var[vlen] = vtext[vtlen] = '\0';
if (braces == 1) {
if (*in != '}') {
! log_printf(r->server, "Invalid variable \"%s%s\"",
vtext,in);
*next = '\0';
return;
} else
***************
*** 545,563 ****
char tmp[MAX_STRING_LEN+2];
ap_snprintf(tmp, sizeof(tmp), "/%s/", parsed_string);
if (parsed_string[0] == '/' || strstr(tmp, "/../") != NULL)
! error_fmt = "unable to include file %s in parsed file %s";
else
rr = sub_req_lookup_file (parsed_string, r);
} else
rr = sub_req_lookup_uri (parsed_string, r);
if (!error_fmt && rr->status != 200)
! error_fmt = "unable to include %s in parsed file %s";
if (!error_fmt && noexec && rr->content_type
&& (strncmp (rr->content_type, "text/", 5)))
error_fmt =
! "unable to include potential exec %s in parsed file %s";
if (error_fmt == NULL)
{
request_rec *p;
--- 545,563 ----
char tmp[MAX_STRING_LEN+2];
ap_snprintf(tmp, sizeof(tmp), "/%s/", parsed_string);
if (parsed_string[0] == '/' || strstr(tmp, "/../") != NULL)
! error_fmt = "unable to include file \"%s\" in parsed file
%s";
else
rr = sub_req_lookup_file (parsed_string, r);
} else
rr = sub_req_lookup_uri (parsed_string, r);
if (!error_fmt && rr->status != 200)
! error_fmt = "unable to include \"%s\" in parsed file %s";
if (!error_fmt && noexec && rr->content_type
&& (strncmp (rr->content_type, "text/", 5)))
error_fmt =
! "unable to include potential exec \"%s\" in parsed file %s";
if (error_fmt == NULL)
{
request_rec *p;
***************
*** 565,575 ****
for (p=r; p != NULL; p=p->main)
if (strcmp(p->filename, rr->filename) == 0) break;
if (p != NULL)
! error_fmt = "Recursive include of %s in parsed file %s";
}
if (!error_fmt && run_sub_req (rr))
! error_fmt = "unable to include %s in parsed file %s";
chdir_file(r->filename);
if (error_fmt) {
--- 565,575 ----
for (p=r; p != NULL; p=p->main)
if (strcmp(p->filename, rr->filename) == 0) break;
if (p != NULL)
! error_fmt = "Recursive include of \"%s\" in parsed file
%s";
}
if (!error_fmt && run_sub_req (rr))
! error_fmt = "unable to include \"%s\" in parsed file %s";
chdir_file(r->filename);
if (error_fmt) {
***************
*** 582,588 ****
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter %s to tag include in
%s",
tag, r->filename);
rputs(error, r);
}
--- 582,588 ----
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter \"%s\" to tag include
in %s",
tag, r->filename);
rputs(error, r);
}
***************
*** 689,696 ****
if(!strcmp(tag,"cmd")) {
parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 1);
if(include_cmd(parsed_string, r) == -1) {
! log_printf(r->server, "unknown parameter %s to tag include
in %s",
! tag, r->filename);
rputs(error, r);
}
/* just in case some stooge changed directories */
--- 689,696 ----
if(!strcmp(tag,"cmd")) {
parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 1);
if(include_cmd(parsed_string, r) == -1) {
! log_printf(r->server, "execution failure for parameter
\"%s\" to tag exec in file %s",
! tag, r->filename);
rputs(error, r);
}
/* just in case some stooge changed directories */
***************
*** 699,705 ****
else if(!strcmp(tag,"cgi")) {
parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 0);
if(include_cgi(parsed_string, r) == -1) {
! log_printf(r->server, "invalid CGI ref %s in
%s",tag_val,file);
rputs(error, r);
}
/* grumble groan */
--- 699,705 ----
else if(!strcmp(tag,"cgi")) {
parse_string(r, tag_val, parsed_string, MAX_STRING_LEN, 0);
if(include_cgi(parsed_string, r) == -1) {
! log_printf(r->server, "invalid CGI ref \"%s\" in
%s",tag_val,file);
rputs(error, r);
}
/* grumble groan */
***************
*** 708,714 ****
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter %s to tag exec in %s",
tag, file);
rputs(error, r);
}
--- 708,714 ----
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter \"%s\" to tag exec in
%s",
tag, file);
rputs(error, r);
}
***************
*** 731,737 ****
} else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter %s to tag echo in %s",
tag, r->filename);
rputs(error, r);
}
--- 731,737 ----
} else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server, "unknown parameter \"%s\" to tag echo in
%s",
tag, r->filename);
rputs(error, r);
}
***************
*** 802,808 ****
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server,"unknown parameter %s to tag config in %s",
tag, r->filename);
rputs(error, r);
}
--- 802,808 ----
else if(!strcmp(tag,"done"))
return 0;
else {
! log_printf(r->server,"unknown parameter \"%s\" to tag config in
%s",
tag, r->filename);
rputs(error, r);
}
***************
*** 822,828 ****
to_send = make_full_path (r->pool, dir, tag_val);
if(stat(to_send,finfo) == -1) {
log_printf(r->server,
! "unable to get information about %s in parsed file %s",
to_send, r->filename);
rputs(error, r);
return -1;
--- 822,828 ----
to_send = make_full_path (r->pool, dir, tag_val);
if(stat(to_send,finfo) == -1) {
log_printf(r->server,
! "unable to get information about \"%s\" in parsed file
%s",
to_send, r->filename);
rputs(error, r);
return -1;
***************
*** 838,844 ****
return 0;
} else {
log_printf(r->server,
! "unable to get information about %s in parsed file %s",
tag_val, r->filename);
rputs(error, r);
destroy_sub_req (rr);
--- 838,844 ----
return 0;
} else {
log_printf(r->server,
! "unable to get information about \"%s\" in parsed file
%s",
tag_val, r->filename);
rputs(error, r);
destroy_sub_req (rr);
***************
*** 846,852 ****
}
}
else {
! log_printf(r->server,"unknown parameter %s to tag %s in %s",
tag, directive, r->filename);
rputs(error, r);
return -1;
--- 846,852 ----
}
}
else {
! log_printf(r->server,"unknown parameter \"%s\" to tag %s in %s",
tag, directive, r->filename);
rputs(error, r);
return -1;
***************
*** 920,926 ****
compiled = pregcomp (r->pool, rexp, REG_EXTENDED|REG_NOSUB);
if (compiled == NULL) {
! log_printf(r->server, "unable to compile pattern %s", rexp);
return -1;
}
regex_error = regexec(compiled, string, 0, (regmatch_t *)NULL, 0);
--- 920,926 ----
compiled = pregcomp (r->pool, rexp, REG_EXTENDED|REG_NOSUB);
if (compiled == NULL) {
! log_printf(r->server, "unable to compile pattern \"%s\"", rexp);
return -1;
}
regex_error = regexec(compiled, string, 0, (regmatch_t *)NULL, 0);
***************
*** 1048,1054 ****
if ((parse = expr) == (char *)NULL) return(0);
root = current = (struct parse_node*)NULL;
if ((expr_pool = make_sub_pool(r->pool)) == (struct pool *)NULL) {
! log_printf(r->server, "out of memory", r->filename);
rputs(error, r);
return(0);
}
--- 1048,1054 ----
if ((parse = expr) == (char *)NULL) return(0);
root = current = (struct parse_node*)NULL;
if ((expr_pool = make_sub_pool(r->pool)) == (struct pool *)NULL) {
! log_printf(r->server, "out of memory processing file %s",
r->filename);
rputs(error, r);
return(0);
}
***************
*** 1057,1063 ****
while (1) {
new = (struct parse_node*)palloc(expr_pool, sizeof (struct
parse_node));
if (new == (struct parse_node*)NULL) {
! log_printf(r->server,"out of memory", r->filename);
rputs(error, r);
goto RETURN;
}
--- 1057,1063 ----
while (1) {
new = (struct parse_node*)palloc(expr_pool, sizeof (struct
parse_node));
if (new == (struct parse_node*)NULL) {
! log_printf(r->server,"out of memory processing file %s",
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1094,1100 ****
break;
default:
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1094,1100 ----
break;
default:
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1107,1113 ****
#endif
if (current == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1107,1113 ----
#endif
if (current == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1127,1133 ****
break;
default:
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1127,1133 ----
break;
default:
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1166,1172 ****
break;
default:
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1166,1172 ----
break;
default:
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1192,1198 ****
#endif
if (current == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1192,1198 ----
#endif
if (current == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1211,1218 ****
case token_eq:
case token_ne:
default:
! log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1211,1219 ----
case token_eq:
case token_ne:
default:
! log_printf(r->server,
! "Invalid expression \"%s\" in file %s",
! expr, r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1243,1249 ****
current = current->parent;
}
if (current == (struct parse_node*)NULL) {
! log_printf(r->server,"Unmatched ')'in %s\n", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
--- 1244,1250 ----
current = current->parent;
}
if (current == (struct parse_node*)NULL) {
! log_printf(r->server,"Unmatched ')' in %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1271,1277 ****
case token_group:
default:
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1272,1279 ----
case token_group:
default:
log_printf(r->server,
! "Invalid expression \"%s\" in file %s",
! expr, r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1318,1324 ****
if (current->left == (struct parse_node*)NULL ||
current->right == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1320,1326 ----
if (current->left == (struct parse_node*)NULL ||
current->right == (struct parse_node*)NULL) {
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1379,1385 ****
(current->left->token.type != token_string) ||
(current->right->token.type != token_string)) {
log_printf(r->server,
! "Invalid expression %s", expr, r->filename);
rputs(error, r);
goto RETURN;
}
--- 1381,1387 ----
(current->left->token.type != token_string) ||
(current->right->token.type != token_string)) {
log_printf(r->server,
! "Invalid expression \"%s\" in file %s", expr,
r->filename);
rputs(error, r);
goto RETURN;
}
***************
*** 1397,1403 ****
if (current->right->token.value[len-1] == '/') {
current->right->token.value[len-1] = '\0';
} else {
! log_printf(r->server,"Invalid rexp %s",
current->right->token.value, r->filename);
rputs(error, r);
goto RETURN;
--- 1399,1405 ----
if (current->right->token.value[len-1] == '/') {
current->right->token.value[len-1] = '\0';
} else {
! log_printf(r->server,"Invalid rexp \"%s\" in file %s",
current->right->token.value, r->filename);
rputs(error, r);
goto RETURN;
***************
*** 1462,1473 ****
break;
case token_lbrace:
! log_printf(r->server,"Unmatched '(' in %s\n", expr,
r->filename);
rputs(error, r);
goto RETURN;
case token_rbrace:
! log_printf(r->server,"Unmatched ')' in %s\n", expr,
r->filename);
rputs(error, r);
goto RETURN;
--- 1464,1477 ----
break;
case token_lbrace:
! log_printf(r->server,"Unmatched '(' in %s in file %s",
! expr, r->filename);
rputs(error, r);
goto RETURN;
case token_rbrace:
! log_printf(r->server,"Unmatched ')' in %s in file %s\n",
! expr, r->filename);
rputs(error, r);
goto RETURN;
***************
*** 1507,1513 ****
rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
#endif
} else {
! log_printf(r->server,"unknown parameter %s to tag if in %s",
tag, r->filename);
rputs(error, r);
}
--- 1511,1517 ----
rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
#endif
} else {
! log_printf(r->server,"unknown parameter \"%s\" to tag if in %s",
tag, r->filename);
rputs(error, r);
}
***************
*** 1544,1550 ****
rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
#endif
} else {
! log_printf(r->server,"unknown parameter %s to tag if in %s",
tag, r->filename);
rputs(error, r);
}
--- 1548,1554 ----
rvputs(r,"**** if expr=\"", expr, "\"\n", NULL);
#endif
} else {
! log_printf(r->server,"unknown parameter \"%s\" to tag if in %s",
tag, r->filename);
rputs(error, r);
}
***************
*** 1736,1742 ****
#endif
else {
log_printf(r->server,
! "httpd: unknown directive %s in parsed doc %s",
directive,r->filename);
if (printing) rputs(error, r);
ret=find_string(f,ENDING_SEQUENCE,r,0);
--- 1740,1746 ----
#endif
else {
log_printf(r->server,
! "httpd: unknown directive \"%s\" in parsed doc %s",
directive,r->filename);
if (printing) rputs(error, r);
ret=find_string(f,ENDING_SEQUENCE,r,0);