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);